Commit graph

505 commits

Author SHA1 Message Date
Silvan Mosberger 83b887504c tests.nixpkgs-check-by-name: Support for combining check results 2023-10-24 01:18:09 +02:00
Silvan Mosberger bb89ca72df tests.nixpkgs-check-by-name: Refactor 2023-10-24 01:15:58 +02:00
Silvan Mosberger 571eaed155 tests.nixpkgs-check-by-name: Intermediate ShardNonDir error 2023-10-24 01:15:58 +02:00
Silvan Mosberger b7ace0198c tests.nixpkgs-check-by-name: Intermediate InvalidShardName error 2023-10-24 01:15:58 +02:00
Silvan Mosberger 143e267ad2 tests.nixpkgs-check-by-name: Intermediate PackageNonDir error 2023-10-24 01:15:58 +02:00
Silvan Mosberger 935f82267a tests.nixpkgs-check-by-name: Intermediate CaseSensitiveDuplicate error 2023-10-24 01:15:58 +02:00
Silvan Mosberger e7d9cc96ed tests.nixpkgs-check-by-name: Intermediate InvalidPackageName error 2023-10-24 01:15:57 +02:00
Silvan Mosberger b011d53bda tests.nixpkgs-check-by-name: Intermediate IncorrectShard error 2023-10-24 01:15:57 +02:00
Silvan Mosberger 64f5eb616e tests.nixpkgs-check-by-name: Intermediate PackageNixNonExistent error 2023-10-24 01:15:57 +02:00
Silvan Mosberger e3979d14cd tests.nixpkgs-check-by-name: Intermediate PackageNixDir error 2023-10-24 01:15:57 +02:00
Silvan Mosberger 4f17b9367d tests.nixpkgs-check-by-name: Intermediate UndefinedAttr error 2023-10-24 01:15:57 +02:00
Silvan Mosberger b688da8189 tests.nixpkgs-check-by-name: Intermediate WrongCallPackage error 2023-10-24 01:15:57 +02:00
Silvan Mosberger 9a0ef88623 tests.nixpkgs-check-by-name: Intermediate NonDerivation error 2023-10-24 01:15:57 +02:00
Silvan Mosberger 4897b63ae6 tests.nixpkgs-check-by-name: Intermediate Symlink errors 2023-10-24 01:15:57 +02:00
Silvan Mosberger 9a3abc4383 tests.nixpkgs-check-by-name: Intermediate CouldNotParseNix error 2023-10-24 01:15:57 +02:00
Silvan Mosberger 96f6a350fa tests.nixpkgs-check-by-name: Intermediate PathInterpolation error 2023-10-24 01:15:56 +02:00
Silvan Mosberger a755aa7d02 tests.nixpkgs-check-by-name: Intermediate SearchPath error 2023-10-24 01:15:56 +02:00
Silvan Mosberger ed56d74c08 tests.nixpkgs-check-by-name: Intermediate path reference errors 2023-10-24 01:15:56 +02:00
Silvan Mosberger 37f8f6681c tests.nixpkgs-check-by-name: Intermediate error type refactoring prep
Currently the tool prints problems right as it is checking the code
without an intermediate error representation. However for various reasons
it would be beneficial to have an intermediate error type:
- It makes the code cleaner, having all errors in one place
- It allows printing the error in different ways, e.g. for a future
  --json mode

This commit prepares for an incremental refactoring for an intermediate
error/problem representation. Most notable is that we want to be able to collect
multiple errors/problems and not just exit on the first one.

We introduce the type alias CheckResult and CheckError (later renamed to
NixpkgsProblem), where CheckError allows collecting multiple
CheckErrors using the utility function flatten_check_results (later
renamed to check_result::sequence)

The write_check_result function is only temporarily introduced to help
refactoring, it's removed again in later commits.
2023-10-24 01:11:57 +02:00
Vincenzo Mantova 7620b617e5 texlive: implement __overrideTeXConfig and withPackage
Implement new 'buildTeXEnv' to leverage multi-output packages and provide
__overrideTeXConfig/withPackages for modifying the configuration or adding
packages. The override mechanism is prefixed until stabilized.
2023-10-22 19:39:19 +01:00
github-actions[bot] 0fa884ae1f
Merge staging-next into staging 2023-10-22 06:01:35 +00:00
Martin Weinelt 8dfad60324
Merge pull request #257792 from NixOS/staging-next
staging-next 2023-09-28
2023-10-22 02:42:33 +02:00
github-actions[bot] 03248bf8af
Merge master into haskell-updates 2023-10-19 00:12:13 +00:00
github-actions[bot] c12ce83e4e
Merge staging-next into staging 2023-10-18 18:01:38 +00:00
github-actions[bot] de8dd334ab
Merge master into staging-next 2023-10-18 18:01:05 +00:00
matthewcroughan b289b43bf8 fetchFromBittorrent: init
Adds a basic FOD Fetcher for Bittorrent that uses Transmission as a client

Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-10-18 14:07:42 +01:00
github-actions[bot] 49523dec15
Merge staging-next into staging 2023-10-13 06:01:45 +00:00
github-actions[bot] 55a0671553
Merge master into haskell-updates 2023-10-13 00:12:19 +00:00
github-actions[bot] 58485aaddb
Merge master into staging-next 2023-10-13 00:02:24 +00:00
Silvan Mosberger d3bf6133e8 tests.nixpkgs-check-by-name: Disallow empty all-packages.nix overrides
Only enabled with `--version v1`
2023-10-12 02:28:34 +02:00
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
github-actions[bot] 2e97a3af0d
Merge staging-next into staging 2023-10-11 00:02:39 +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
Maximilian Bosch 8bc5104a6e
treewide: refactor .attrs.sh detection
When specifying the `builder` attribute in `stdenv.mkDerivation`, this
will be effectively transformed into

    builtins.derivation {
      builder = stdenv.shell;
      args = [ "-e" builder ];
    }

This also means that `default-builder.sh` is never sourced and as a
result it's not guaranteed that `$NIX_ATTRS_SH_FILE` is set to a correct
location[1].

Also, we need to source `.attrs.sh` to source `$stdenv`. So, the
following is done now:

* If `$NIX_ATTRS_SH_FILE` points to a correct location, then use it.
  Directly using `.attrs.sh` is problematic for `nix-shell(1)` usage
  (see previous commit for more context), so prefer the environment
  variable if possible.

* Otherwise, if `.attrs.sh` exists, then use it. See [1] for when this
  can happen.

* If neither applies, it can be assumed that `__structuredAttrs` is
  turned off and thus nothing needs to be done.

[1] It's possible that it doesn't exist at all - in case of Nix 2.3 or
    it can point to a wrong location on older Nix versions with a bug in
    `__structuredAttrs`.
2023-10-04 18:36:57 +02: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