Commit Graph

473 Commits

Author SHA1 Message Date
Silvan Mosberger
23541bed72 tests.nixpkgs-check-by-name: Introduce --version 2023-10-12 02:28:09 +02:00
Silvan Mosberger
fcaa408d00 tests.nixpkgs-check-by-name: auto-calling differentiation
Allows detecting whether attributes are overridden in all-packages.nix.
In a future commit we'll use this to detect empty arguments being set in
all-packages.nix and complain about that.
2023-10-12 02:27:55 +02:00
Silvan Mosberger
f394f738fa tests.nixpkgs-check-by-name: Improve an error message 2023-10-12 02:27:13 +02:00
Silvan Mosberger
26cec0dbe3 tests.nixpkgs-check-by-name: Add custom argument test 2023-10-12 02:27:05 +02:00
Silvan Mosberger
6710bc250a tests.nixpkgs-check-by-name: Minor refactor
Allows a smaller diff for future changes
2023-10-12 02:27:02 +02:00
Silvan Mosberger
21d520fbf2 tests.nixpkgs-check-by-name: Minor Nix refactor 2023-10-12 02:24:54 +02:00
github-actions[bot]
5e07b9a951
Merge master into haskell-updates 2023-10-11 00:12:13 +00:00
Fabián Heredia Montiel
d676e059d7 Merge remote-tracking branch 'origin/master' into staging-next 2023-10-10 15:07:12 -06:00
Madoura
12e7fc6923
llvmPackages_rocm -> rocmPackages.llvm 2023-10-09 16:38:51 -05:00
Dennis Gosnell
36bb7be495
tests.haskell.upstreamStackHpackVersion: update breakfor stack-2.13.1
The tarball that contains the statically-linked stack package has
changed paths.

See the release notes for more details:
https://github.com/commercialhaskell/stack/releases/tag/v2.13.1
2023-10-08 12:23:10 +09:00
Vincenzo Mantova
988124cf20 tests.texlive.shebangs: use new texlive package source 2023-10-07 18:49:18 +01:00
Vincenzo Mantova
361364aba0 tests.texlive.binaries: use new texlive package source 2023-10-07 18:49:18 +01:00
Vincenzo Mantova
333a351b28 texlive.buildTeXLivePackage: switch to fake multi-output derivations for TeX Live packages 2023-10-07 18:49:17 +01:00
github-actions[bot]
b7f2311d92
Merge staging-next into staging 2023-09-27 18:01:33 +00:00
Matthieu Coudron
0ab2c96429 vimUtils: buildVimPluginFrom2Nix renamed to buildVimPlugin
the `from2Nix` suffix is a legacy from vim2nix but we dont use that anymore. It makes the name of the function unusual and long.
2023-09-27 19:08:38 +02:00
github-actions[bot]
035c6df194
Merge staging-next into staging 2023-09-24 00:03:26 +00:00
Silvan Mosberger
85d77bc124
Merge pull request #256913 from xfix/make-nixpkgs-check-by-name-tests-thread-safe
tests.nixpkgs-check-by-name: Make tests thread safe
2023-09-23 23:31:49 +02:00
Konrad Borowski
9efc0c0991 tests.nixpkgs-check-by-name: make tests thread safe
This uses a mutex to make sure that functions that read environment
don't read incorrect values.
2023-09-23 21:24:44 +02:00
figsoda
6728e7a9ca tests.nixpkgs-check-by-name: remove unused dependency
looks like we are not using rowan directly
2023-09-23 10:12:21 -04:00
github-actions[bot]
0de27a8a5a
Merge staging-next into staging 2023-09-23 12:01:36 +00:00
Silvan Mosberger
1fe58cb050 tests.nixpkgs-check-by-name: Fix non-reproducible test failures
This was an oversight in https://github.com/NixOS/nixpkgs/pull/254435
2023-09-23 00:09:26 +02:00
Artturi
6096abb008
Merge pull request #255208 from rhendric/rhendric/make-binary-wrapper 2023-09-20 09:41:44 +03:00
Ryan Hendrickson
df8b425f89 makeBinaryWrapper: protect wildcards in flags 2023-09-18 02:49:33 -04:00
Artturin
42f3292616 tests.cc-wrapper.supported: add test for cxxabi header
`#include <cxxabi.h>`

`/nix/store/02wpjmp2zjjxz13z7g599mniwi25zkcy-libcxxabi-16.0.6-dev/include/cxxabi.h:20:10: fatal error: '__cxxabi_config.h' file not found`
2023-09-18 06:43:36 +05:30
Artturin
57040cc3eb tests.makeBinaryWrapper: fix cross test on aarch64-linux 2023-09-15 08:48:31 +03:00
Robert Hensing
04311ac3fa
Merge pull request #254763 from tie/nixpkgs-systems-equals
pkgs/top-level: use lib.systems.equals for crossSystem
2023-09-13 12:04:45 +02:00
Ivan Trubach
d4063e0330 pkgs/top-level: use lib.systems.equals for crossSystem
Fixes otherwise equivalent systems being treated as different by
packages that compare `stdenv.*Platform`s using `==` operator.
2023-09-13 07:22:52 +03:00
Silvan Mosberger
9c9a7e0082 tests.nixpkgs-check-by-name: Fix with parallel tests
We seem to have enough tests to run into this now:

    error: creating symlink from '/private/tmp/nix-build-nixpkgs-check-by-name.drv-0/source/test-tmp/var/nix/gcroots/profiles' to '/private/tmp/nix-build-nixpkgs-check-by-name.drv-0/source/test-tmp/var/nix/profiles': File exists
2023-09-12 01:07:47 +02:00
Silvan Mosberger
d518eb94ee tests.nixpkgs-check-by-name: Fix for symlinked tempdirs
On Darwin, /tmp is sometimes a symlink to /private/tmp, which couldn't
be handled before:

    error: access to canonical path '/private/var/folders/xp/9_ry6h9x6l9gh_g32qspz0_40000gp/T/.tmpFbcNO0' is forbidden in restricted mode

This both fixes that and adds a test to make sure it can't happen again
2023-09-12 01:07:44 +02:00
Rahul Butani
0251e2645a llvmPackages_15.libcxx: fix the generated linker script
See:
 - https://github.com/NixOS/nixpkgs/issues/214524#issuecomment-1429146432
 - 57c7bb3ec8
 - https://reviews.llvm.org/D133566

We can drop this patch in `llvmPackages_16`.

Fixes #214524.
2023-09-08 05:41:29 +03:00
Artturin
2d15039387 tests.cc-wrapper: add supported and move tests to subsets
filter out llvmPackages <=10 on aarch64-darwin, they're marked broken
and availableOn doesn't filter broken packages
2023-09-08 03:20:52 +03:00
Artturin
bcd62ff9eb Revert "tests.cc-wrapper: filter unavailable gcc"
This reverts commit d33a309f2c9f85c28cb897e623503f210057a77a.

commit caused ofborg-eval to fail with

```
$ nix-build pkgs/top-level/release.nix -A tests.cc-wrapper.gcc10Stdenv.aarch64-darwin
       error: evaluation aborted with the following error message: 'cannot find attribute `tests.cc-wrapper.gcc10Stdenv''
```

on the 3 other platfomrs the attr is there
2023-09-07 22:36:16 +03:00
Artturin
e0898be1c5 tests.cc-wrapper: filter unavailable gcc 2023-09-07 22:36:16 +03:00
Artturin
686516e0bc tests.cc-wrapper: filter out *MultiStdenv when not on and not building for linux and x86_64
they're only supported on x86_64-linux
2023-09-07 22:36:16 +03:00
Artturin
535447e289 tests.cc-wrapper: show command output on different line
this is much easier to read.
2023-09-07 22:36:16 +03:00
Artturin
1b6c3aed63 tests.cc-wrapper: show more prominently what cc is being tested
Show what libc is used, otherwise there's indication what libc is being
used. Ex in gccMultiStdenv.
2023-09-07 22:36:15 +03:00
Rahul Butani
626c8c3224 tests.cc-wrapper: rework the logic, test newer gcc stdenvs too
ignore `llvmPackages_latest`, it's an alias and it'll be a duplicate.
ignore `llvmPackages_git`, it's not supposed to be used in nixpkgs and
may be broken.
2023-09-07 22:36:07 +03:00
Rahul Butani
8b4f80741c tests.cc-wrapper-*: extend to `llvmPackages_{10,11,12,13,14,15,git} 2023-09-07 03:46:38 +03:00
Silvan Mosberger
ad61076624
Merge pull request #237439 from tweag/spp-1
[RFC 140] Simple package paths, part 1b: Enabling the directory structure
2023-09-05 16:25:27 +02:00
Silvan Mosberger
f6467c3574 pkgs/by-name: Introduce
This introduces the `pkgs/by-name` directory as proposed by RFC 140.
Included are:
- The implementation to add packages defined in that directory to the
  top-level package scope
- Contributer documentation on how to add packages to it
- A GitHub Actions workflow to check the structure of it on all PRs
2023-09-05 16:10:50 +02:00
Dmitry Kalinkin
ac3d200056
Merge pull request #252012 from xworld21/texlive-split-core
texlive: split outputs & spring cleaning
2023-09-02 22:22:19 -04:00
Robert Scott
e0f6367446 cc-wrapper, binutils-wrapper: add tests hardening-flags-handling
most tests use debian-devscripts' hardening-check, so only work on
ELF systems and can only detect a limited subset of flags.

some extra tests actually execute fortify-protected programs and
should be slightly more universally applicable.
2023-09-02 15:01:54 +01:00
Maciej Krüger
edfb18664a
Merge pull request #252225 from nbraud/fetchDebianPatch 2023-08-30 19:06:32 +02:00
nicoo
e4162c9e7b fetchDebianPatch: add test 2023-08-30 07:55:07 +00:00
Silvan Mosberger
d42ae665dc tests.nixpkgs-check-by-name: Cleaner testing
- Better filesystem case-sensitivity heuristic
  We shouldn't assume that Linux is always case-sensitive.
- Don't include case-sensitive filename in tree
  Was used for tests, but this broke channel updates because there's a
  check to make sure there's no case-sensitive files!

  https://hydra.nixos.org/build/233371356/nixlog/1
2023-08-29 23:36:47 +02:00
Vincenzo Mantova
e2e33e611c texlive.bin.core-big: enable upmendex 2023-08-29 16:16:15 +01:00
Silvan Mosberger
f616ad76f0
Merge pull request #250885 from tweag/spp-1a
[RFC 140] Simple package paths, part 1a: Checking tool
2023-08-29 16:36:26 +02:00
Silvan Mosberger
34c8b0a8e5 nixos/release-combined.nix: Build pkgs/by-name tester 2023-08-29 16:35:07 +02:00
Silvan Mosberger
271eb02995 pkgs/test/nixpkgs-check-by-name: init
Adds an internal CLI tool to verify Nixpkgs to conform to RFC 140.
See pkgs/test/nixpkgs-check-by-name/README.md for more information.
2023-08-29 16:17:54 +02:00
Dmitry Kalinkin
f32acbc17a
Merge pull request #248960 from xworld21/texlive-tests
tests.texlive: several new tests
2023-08-26 17:56:39 -04:00
Vincenzo Mantova
4e49e4928d
tests.texlive.fixedHashes: init (#248746)
The assertion that all TeX Live packages have a fixed hash is time
consuming and should only be checked when running tests.
2023-08-26 17:12:41 -04:00
Vincenzo Mantova
89da73e92e tests.texlive.opentype-fonts: use scheme-small 2023-08-26 13:37:30 +01:00
Vincenzo Mantova
996a94d959 tests.texlive.opentype-fonts: use mkTeXTest 2023-08-26 13:37:30 +01:00
Vincenzo Mantova
898681161a tests.texlive.allLanguages: init 2023-08-26 13:37:30 +01:00
Vincenzo Mantova
3096052a54 tests.texlive.defaultLanguage: init 2023-08-26 13:37:30 +01:00
Vincenzo Mantova
1ff046e333 tests.texlive.mkTeXTest: init 2023-08-26 13:37:30 +01:00
Vincenzo Mantova
6b5011d9d3
tests.texlive.binaries: fix test for xpdfopen binaries (#250635) 2023-08-23 15:18:32 -04:00
Vincenzo Mantova
e134c208ae
texlive.bin.xetex: add teckit_compile to output (#250390) 2023-08-21 10:20:14 -04:00
github-actions[bot]
f6a4c6f912
Merge master into staging-next 2023-08-20 00:02:29 +00:00
Vincenzo Mantova
5be52ab757 texlive.tlshell: hardcode revision numbers missing from minimal texlive.tlpdb 2023-08-19 21:30:07 +01:00
github-actions[bot]
3b76a64c44
Merge master into staging-next 2023-08-17 12:01:23 +00:00
sternenseemann
232a372e29 Merge remote-tracking branch 'origin/master' into haskell-updates 2023-08-17 09:32:14 +02:00
github-actions[bot]
2e936d668c
Merge master into staging-next 2023-08-17 06:00:58 +00:00
Adam Joseph
360dc254fe tests.cross.sanity: add armv5tel and armv6l 2023-08-15 19:11:09 -07:00
github-actions[bot]
4a85282f9a
Merge master into haskell-updates 2023-08-16 00:11:07 +00:00
github-actions[bot]
df770ba961
Merge master into staging-next 2023-08-15 06:01:24 +00:00
Adam Joseph
1912681314 tests.cross.sanity: enable mbuffer test
This test passes now.  Also fixes a minor oversight in the bug --
the test case needs to `touch $out` on success.
2023-08-14 15:09:06 -07:00
Adam Joseph
18c52d09bc libgcc: make needed architecture-specific targets if isArmv7 2023-08-14 15:08:59 -07:00
github-actions[bot]
e365e1db48
Merge master into haskell-updates 2023-08-06 00:13:20 +00:00
Vladimír Čunát
d5732d9669
Merge branch 'staging-next' into staging 2023-08-05 07:45:29 +02:00
Artturi
c0731df13c
Merge pull request #238525 from tie/patch-shebang-update-store-paths 2023-08-04 01:21:07 +03:00
Vincenzo Mantova
07e50252e1 texlive.combine: add ghostscript to wrappers instead of combining 2023-07-29 18:31:18 +02:00
Vincenzo Mantova
56af1c1981 tests.texlive.rpdfcrop: init, check that rpdfcrop runs in restricted mode 2023-07-29 18:10:45 +02:00
Vincenzo Mantova
39750551aa tests.texlive.shebangs: init, check that all shebangs are in Nix 2023-07-29 18:10:45 +02:00
Vincenzo Mantova
1ab65c8c80 tests.texlive.binaries: test non-combined binaries with empty PATH, where possible 2023-07-29 18:10:44 +02:00
Vincenzo Mantova
5ecc48b8ff texlive: build bin containers for binaries and scripts 2023-07-29 18:10:42 +02:00
github-actions[bot]
265c5d7f67
Merge master into haskell-updates 2023-07-28 00:13:07 +00:00
Robert Hensing
f705094eac
Merge pull request #245524 from hercules-ci/writeScriptBin-meta.mainProgram
Add meta.mainProgram to writeCBin, add tests
2023-07-27 10:41:20 +02:00
github-actions[bot]
6781f1d32e
Merge master into haskell-updates 2023-07-27 00:12:37 +00:00
Pol Dellaiera
0c7765a38a
Merge pull request #238739 from apfelkuchen6/texlive-licenses-v2
texlive.combine: expose licensing information of combined packages [v2]
2023-07-26 23:36:29 +02:00
Robert Hensing
89bdfd4687 trivial-builders: Move test list closer 2023-07-26 18:22:33 +02:00
Robert Hensing
d1dc8384ca writeCBin: Add meta.mainProgram
... and add tests.
2023-07-26 18:22:26 +02:00
github-actions[bot]
cde91a5dd2
Merge master into haskell-updates 2023-07-26 00:13:28 +00:00
apfelkuchen06
43ac27ebae tests.texlive.licenses: init 2023-07-25 21:05:00 +02:00
zimbatm
73ee03cbc5 writers: split out the tests
Make it easier to run and debug individual tests.
2023-07-22 17:53:52 +02:00
github-actions[bot]
6522c61c67
Merge master into haskell-updates 2023-07-21 00:13:37 +00:00
github-actions[bot]
d6876464b4
Merge master into haskell-updates 2023-07-20 00:14:23 +00:00
Dennis Gosnell
5d1c9db9c9
Merge pull request #243798 from cdepillabout/stack-version-check
tests.haskell.upstreamStackHpackVersion: init
2023-07-16 22:46:18 +09:00
Dennis Gosnell
c78223a5ff
tests.haskell.upstreamStackHpackVersion: init
This tests that the upstream `stack` release uses the same version of
`hpack` as the `stack` in Nixpkgs.
2023-07-16 21:35:53 +09:00
github-actions[bot]
8ad2926229
Merge master into haskell-updates 2023-07-16 00:16:59 +00:00
github-actions[bot]
4f3b5848de
Merge master into haskell-updates 2023-07-15 00:14:47 +00:00
Adam Joseph
424952b7b4 gccWithoutTargetLibc: link libgcc_s.so using -mnewlib if isPower
Closes #244405

Also adds considerably more commenting to document what is going on.
2023-07-06 05:50:26 -07:00
Dennis Gosnell
55b8958f7d
tests.haskell.shellFor: change package used in extraDependencies test
This commit does the following two things:

1.  Changes the Haskell package used in the extraDependencies test from
    releaser to conduit.  The reason for this is that conduit is more
    of a "core" package in Haskell, and it is more likely to always be
    working.  (If conduit is not compiling, then large chunks of Hackage
    won't be working.)

2.  Tighten up the GHCi test to actually use the package from
    extraDependencies.  It appears that GHCi can fail to import the
    package from extraDependencies, and that doesn't cause GHCi to
    return an error code, which means the test isn't actually testing
    anything.

    This new change makes it so that if the package from
    extraDependencies is actually not included for some reason, then
    this shellFor test should fail.
2023-07-04 15:38:23 +09:00
Artturin
42c94d06fd stdenv: fix overriding with attrset when finalAttrs isn't used
```
nix-repl> (pkgs.htop.overrideAttrs { pname = "hello-overriden"; }).pname
error:
       … while evaluating a branch condition

         at /nix/store/phn5cahwacv9wjgalygw62x8l4xbl6x3-source/lib/customisation.nix:86:7:

           85|     in
           86|       if builtins.isAttrs result then
             |       ^
           87|         result // {

       … while calling the 'isAttrs' builtin

         at /nix/store/phn5cahwacv9wjgalygw62x8l4xbl6x3-source/lib/customisation.nix:86:10:

           85|     in
           86|       if builtins.isAttrs result then
             |          ^
           87|         result // {

       (stack trace truncated; use '--show-trace' to show the full trace)

       error: attempt to call something which is not a function but a set

       at /nix/store/phn5cahwacv9wjgalygw62x8l4xbl6x3-source/pkgs/stdenv/generic/make-derivation.nix:58:21:

           57|           f = self: super:
           58|             let x = f0 super;
             |                     ^
           59|             in
```
2023-07-03 21:34:50 +03:00
Adam Joseph
895c24349c test.cross.sanity: add pkgs.pkgsCross.m68k.stdenv 2023-07-01 16:45:47 -07:00
Robert Hensing
1f5a0b0135
Merge pull request #239005 from Artturin/setorfunoverr
stdenv: let overrideAttrs accept attrset OR function
2023-07-01 15:27:23 +02:00
Adam Joseph
fb26d16e99 test.cross.sanity: init
This commit adds `pkgs.test.cross.sanity`, which is meant to be a
carefully curated list of builds/packages that tend to break when
refactoring our cross-compilation infrastructure.

It should strike a balance between being small enough to fit in
a single eval (i.e. not so large that hydra-eval-jobs is needed)
so we can ask @ofborg to check it, yet should have good examples
of things that often break.  So, no buckshot `mapTestOnCross`
calls here.
2023-07-01 02:59:40 -07:00
Artturin
0fdae31531 stdenv: let overrideAttrs accept attrset OR function
Makes overrideAttrs usable in the same way that `override` can be used.
It allows the first argument of `overrideAttrs` to be either a function
or an attrset, instead of only a function:

hello.overrideAttrs (old: { postBuild = "echo hello"; })
hello.overrideAttrs { postBuild = "echo hello"; }

Previously only the first example was possible.

Co-authored-by: adisbladis <adisbladis@gmail.com>
Co-authored-by: matthewcroughan <matt@croughan.sh>
2023-06-30 23:28:00 +03:00
Adam Joseph
18bbf33b38 test.cross.mbuffer: init
This adds a test case for the tricky issue encountered in

  https://github.com/NixOS/nixpkgs/issues/213453
2023-06-30 02:36:13 -07:00
apfelkuchen6
a3cdf3186f
texlive.bin.core-big: fix luajittex on aarch64-linux (#240577) 2023-06-29 16:12:05 -04:00