Commit graph

256 commits

Author SHA1 Message Date
Naïm Favier 1c70b694fe
makeWrapper,makeBinaryWrapper: implement --append-flags 2022-05-30 23:07:58 +02:00
Robert Hensing 28f9043aa9 pkgs/tests/config.nix: Make test future proof 2022-05-29 11:50:48 +02:00
Robert Hensing 523eb4a181 pkgs.tests: Add regression test for #175196 2022-05-29 10:23:16 +02:00
Robert Hensing 392fba1132 pkgs.tests.haskell.cabalSdist: Avoid IFD 2022-05-24 13:23:19 +02:00
Robert Hensing cf5e2d5103 haskellPackages: Add buildFromCabalSdist (faster, tested) 2022-05-23 22:28:57 +02:00
Janne Heß 3673f148b3
Merge remote-tracking branch 'origin/staging-next'
* origin/staging-next: (62 commits)
  Re-Revert "lua: fix on darwin by using makeBinaryWrapper (#172749)"
  openldap: fix cross-compilation
  makeBinaryWrapper: fix codesign on aarch64-darwin
  python3Packages.ldap: fix linking with openldap 2.5+
  Revert "lua: fix on darwin by using makeBinaryWrapper (#172749)"
  wine: enable parallel build again
  pkgsi686Linux.gdb: fix formatting for 32-bit systems
  gtk4: Fix incorrect merge
  nixos/openldap: use upstream unit defaults
  openldap: update maintainers
  openldap: 2.4.58 -> 2.6.2
  Revert "Add mingwW64-llvm cross-system."
  lua: fix on darwin by using makeBinaryWrapper (#172749)
  python310Packages.python-mimeparse: execute tests
  pandas: fix darwin build
  gtk3: 3.24.33 -> 3.24.33-2022-03-11
  gtk4: patch fixing g-c-c crashes
  e2fsprogs: patch for CVE-2022-1304
  firefox-unwrapped: fix cross compilation
  rustc: expose correct llvmPackages for cross compile
  ...
2022-05-23 19:56:59 +02:00
Artturin 5a6a31e54d fetchzip: extraPostFetch -> postFetch && tests 2022-05-22 21:18:52 +03:00
Naïm Favier 3e385d9a82
makeBinaryWrapper: add comment 2022-05-12 15:23:38 +02:00
Naïm Favier 0d6bcb513b
makeBinaryWrapper: move into its own folder
The derivation is complex enough to warrant moving out of
all-packages.nix
2022-05-10 22:07:56 +02:00
Robert Hensing ebf0465d09 Merge remote-tracking branch 'upstream/master' into testers 2022-05-09 14:27:13 +02:00
Robert Hensing 93abb7bef7 tests.testers.nixosTest-example: move from tests.nixos-functions.nixosTest-test
And improve the test a bit, to assert correct wiring of `pkgs`.
2022-05-09 14:21:56 +02:00
Robert Hensing ae172a2bb4 treewide: nixosTest -> testers.nixosTest 2022-05-09 14:16:06 +02:00
Naïm Favier 69c7dbb880
makeBinaryWrapper: add overlength-strings test 2022-05-06 17:03:30 +02:00
Janne Heß 0329256fd8
nixos-functions: Set system.stateVersion 2022-05-05 12:51:39 +02:00
Robert Hensing 7edb414660 testers.nixosTest: Move from top-level and improve docs 2022-05-05 12:48:47 +02:00
Frederik Rietdijk 1d63f89caa cudaPackages: overhaul of how we package cuda packages
There are many different versions of the `cudatoolkit` and related
cuda packages, and it can be tricky to ensure they remain compatible.

- `cudaPackages` is now a package set with `cudatoolkit`, `cudnn`, `cutensor`, `nccl`, as well as `cudatoolkit` split into smaller packages ("redist");
- expressions should now use `cudaPackages` as parameter instead of the individual cuda packages;
- `makeScope` is now used, so it is possible to use `.overrideScope'` to set e.g. a different `cudnn` version;
- `release-cuda.nix` is introduced to easily evaluate cuda packages using hydra.
2022-04-09 08:50:22 +02:00
github-actions[bot] 27e49cc5a4
Merge master into staging-next 2022-04-01 18:01:22 +00:00
Robert Hensing 6febb906a8 tests: Add pkgs-lib
Makes the following work

    ofborg build tests.pkgs-lib
2022-04-01 15:19:45 +02:00
github-actions[bot] be4f006d3c
Merge master into staging-next 2022-03-31 18:01:13 +00:00
Robert Hensing e2461d62b6 pkgs.tests.nixos-functions: machine -> nodes.machine 2022-03-28 14:11:58 +02:00
github-actions[bot] c6dd9fd65d
Merge master into staging-next 2022-03-25 18:01:14 +00:00
Silvan Mosberger 99d9d45630
Merge pull request #164651 from Infinisil/remove-optionSet
lib/modules: Finally remove deprecated types.optionSet
2022-03-25 17:41:57 +01:00
Vladimír Čunát 0a8b4eddd2
Merge branch 'master' into staging-next 2022-03-25 10:16:56 +01:00
Robert Hensing 6c469679f6 Merge remote-tracking branch 'upstream/master' into tests-restrict-arguments 2022-03-21 23:17:17 +01:00
Robert Hensing b2d3baa3cf tests.nixos-functions.nixosTest-test: Test callPackage-like behavior 2022-03-21 23:14:10 +01:00
Vladimír Čunát a519740b4c
Merge branch 'staging-next' into staging 2022-03-21 11:57:43 +01:00
Robert Hensing 9bc841fec1
Merge pull request #164305 from hercules-ci/haskellPackages-shellFor-extraDependencies
haskellPackages.shellFor: Add extraDependencies
2022-03-20 19:18:44 +01:00
Silvan Mosberger 7b32b8b66f Remove ancient mkOption tests
These are completely non-functional by now
2022-03-18 21:23:54 +01:00
Robert Hensing 2e87d165f7 haskellPackages.shellFor: Add extraDependencies
An example use case is when you have Haskell scripts that use
libraries that don't occur in your packages' dependencies.
2022-03-15 20:38:22 +01:00
K900 7e3c503257 build-support/writeTextFile: add test for weird file names 2022-03-10 13:30:46 +03:00
talyz 183147a037
makeWrapper: Don't glob in prefix/suffix
Disable file globbing in --prefix/--suffix, since bash will otherwise
try to find filenames matching the the value to be prefixed/suffixed
if it contains characters considered wildcards, such as `?` and
`*`. We want the value as is, except we also want to split it on on
the separator; hence we can't quote it.
2022-02-12 11:03:32 +01:00
talyz be2aa01de7
tests: Add test for makeWrapper
Co-authored-by: Janne Heß <janne@hess.ooo>
2022-02-02 20:08:26 +01:00
Sandro 982fdde775
neovim.tests: remove alias 2022-01-20 02:58:47 +01:00
Robert Hensing d75b85c5dc
Merge pull request #147690 from pasqui23/hosts
concatTextFile: init
2022-01-08 20:40:31 +01:00
Pasquale 5187d2cd8f
concatText: test now works 2021-12-30 13:12:34 +01:00
Robert Hensing f6ff6c4ff4
Merge pull request #151411 from hercules-ci/pkgs-tests-fetch
pkgs.tests: Add fetcher tests so ofborg can run them
2021-12-20 18:33:50 +01:00
Robert Hensing 7195f7d5b9 pkgs.tests: Add fetcher tests so ofborg can run them 2021-12-20 13:13:07 +01:00
Tobias Bergkvist ebf46e5764 makeBinaryWrapper: Fix issues on aarch64-darwin/macOS 12 (Monterey)
Sanitizers don't seem to be present on aarch64-darwin/macOS 12 (Monterey), so they are removed from the aarch64-darwin tests.

Switching from nativeBuildInputs to buildInputs and adding cc to the deps list caused some strange error messages to go away.
2021-12-16 21:29:21 +01:00
Tobias Bergkvist 228d451e03 makeBinaryWrapper: Fix chdir golden test for darwin
On macOS, /tmp is a symlink to /private/tmp. When performing cd /tmp, and checking cwd - it won't match since it follows the symlink.

This caused test breakage on macOS but not Linux. Instead, use a folder which is not a symlink, and consistent across Linux and macOS.
2021-12-16 21:12:59 +01:00
Tobias Bergkvist f7b5083cb6 makeBinaryWrapper: Make tests discoverable to OfBorg
Move makeBinaryWrapper tests to pkgs.makeBinaryWrapper.passthru.tests, since OfBorg doesn't discover/skips the tests in the previous location.
2021-12-16 21:04:07 +01:00
Robert Hensing 9fb7d91888
Merge pull request #124556 from bergkvist/bergkvist/make-c-wrapper
Generate tiny compiled binary for wrapping executables
2021-12-10 00:45:30 +01:00
Jacek Galowicz b7e00ed89e make-binary-wrapper: Add -Wall -Werror -Wpedantic 2021-12-09 17:22:55 +01:00
Jacek Galowicz 177f0a6eed make makeWrapper and makeBinaryWrapper drop-in-replaceable 2021-12-09 11:32:29 +00:00
Jacek Galowicz e7c70ce5c8 Inject gcc path into makewrapper script 2021-12-09 11:32:29 +00:00
Jacek Galowicz 2bc7345064 Add golden effects test 2021-12-09 11:32:28 +00:00
(cdep)illabout cfb2fd768e tests.dhall.generateDhallDirectoryPackage: init 2021-12-07 13:36:20 +09:00
Tobias Bergkvist d8375fbccb Add tests for --inherit-argv0 and --chdir DIR 2021-12-02 04:03:36 +01:00
Tobias Bergkvist a1e62262bc Replace concat3 with asprintf in set_env_prefix and set_env_suffix. 2021-12-01 23:27:26 +01:00
Tobias Bergkvist 3997e9de67 Switch from malloc to calloc in addFlags 2021-12-01 23:07:30 +01:00
Tobias Bergkvist 97d62a90f5 Switch from exit(1) to abort() in assert_success 2021-12-01 22:56:18 +01:00
Tobias Bergkvist 4e55d34535 Add assertValidEnvName and check that variable name is valid during code generation. Add assert_success, and assert that setenv/unsetenv succeeds to crash if they don't 2021-12-01 22:49:20 +01:00
Kim Lindberger 0039b0b5a8
Merge pull request #144564 from jtojnar/php-overridable
php: Implement overrideAttrs that composes with buildEnv/withExtensions
2021-11-15 18:12:44 +01:00
Jan Tojnar 968d180452 php: Implement overrideAttrs that composes with buildEnv/withExtensions
Hopefully.

Also add a couple of tests to check that.
2021-11-14 23:05:48 +01:00
Tobias Bergkvist 3a014be2f2 Assert that malloc does not return a NULL pointer for better error messages + to satisfy static analysis tools. 2021-11-09 02:56:32 +01:00
github-actions[bot] e1766085b3
Merge master into haskell-updates 2021-11-09 00:10:05 +00:00
Dennis Gosnell 4d2b3b4d5a
Merge pull request #142825 from cdepillabout/buildDhallUrl
dhallPackages.buildDhallUrl: add function for easily building dhall remote imports
2021-11-08 13:44:37 +09:00
(cdep)illabout 10c5a4cca5 dhallPackages.buildDhallUrl: change argument from dhall-hash to dhallHash 2021-11-08 13:15:17 +09:00
Ellie Hermaszewska 15ae25f36c
haskell: switch from haskell.lib to haskell.lib.compose 2021-11-07 20:18:45 +08:00
Dennis Gosnell 2e1d84e9fb
dhallPackages.buildDhallUrl: small formatting fixes
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2021-11-01 13:44:50 +09:00
Robert Hensing 51f7c15df9 test.trivial-builders: Add test cases, fix test runner, rename
The writeStringReferencesToFile didn't handle non-unique references
to the same path correctly.
2021-11-01 00:06:03 +01:00
(cdep)illabout 9be3d05d7c tests.dhall.buildDhallUrl: add test 2021-10-25 15:04:50 +09:00
Tobias Bergkvist a95a7a22be Switch from buildInputs to nativeBuildInpuits in makeGoldenTest 2021-10-19 18:35:42 +02:00
Tobias Bergkvist 7cca19a46a
Set strictDeps = true in makeGoldenTest
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2021-10-19 09:25:24 -07:00
Tobias Bergkvist 4b833cc141 EditorConfig: Switch from tabs to spaces 2021-10-04 22:38:14 +02:00
Tobias Bergkvist b7d36b8d59 Add golden tests for make-binary-wrapper.
To run tests after cloning on linux, use the following:
nix-build pkgs/top-level/release.nix -A tests.make-binary-wrapper.x86_64-linux
2021-10-04 22:35:09 +02:00
Samuel Ainsworth 0981d9473f cudatoolkit_11_{3,4}: init at 11.{3,4}.1 2021-09-21 07:03:01 +00:00
Robert Hensing fbafeb7ad5 treewide: runCommandNoCC -> runCommand
This has been synonymous for ~5y.
2021-08-15 17:36:41 +02:00
Ben Siraphob 1e2484a27c treewide: remove unnecessary enableParallelBuilding when using cmake 2021-07-20 10:32:58 +07:00
Dmitry Kalinkin 8ff78e6a14
Merge pull request #130041 from xworld21/texlive-generate-fmtutilcnf
texlive: generate fmtutil.cnf
2021-07-17 08:21:12 -04:00
sternenseemann 3e19234f34 tests.haskell: set meta.platforms
This allows packagePlatforms to pick up on the overall supported
platforms and schedule builds on Hydra for more than the evaluation
platform (usually x86_64-linux).
2021-07-13 15:37:22 +02:00
sternenseemann 6bd0c16f89 tests.writers: also expose path via passthru 2021-07-13 15:22:34 +02:00
sternenseemann 52acca72bf top-level/release-haskell.nix: test writers on all platforms
Since the rust writer doesn't seem to get fixed on darwin, we'll just
wrap the haskell writer test in our own derivation (which is possible
since tests.writers exposes a bunch of internals via passthru) and
expose it via tests.haskell which are already in mergeable.

Finally a way to test the (hopefully) working haskell writer on darwin
again!
2021-07-13 15:19:36 +02:00
Vincenzo Mantova e40614da00 tests.texlive.fmtutilCnf: init 2021-07-12 20:37:51 +01:00
Dmitry Kalinkin 7db19e75e6
Merge pull request #127489 from xworld21/texlive-drop-hyphens-sed
texlive.combine: improve creation of language files
2021-07-11 19:10:08 -04:00
Vincenzo Mantova d26a4266e2 tests.texlive.hyphen-base: init 2021-07-04 11:47:33 +01:00
github-actions[bot] 947012b992
Merge staging-next into staging 2021-06-26 00:09:11 +00:00
Robert Schütz d6234c2165 Merge branch 'master' into staging-next 2021-06-26 00:33:58 +02:00
Dmitry Kalinkin 53d6abc682
tests.texlive.texdoc: init 2021-06-23 22:18:54 -04:00
deliciouslytyped a71e906e3a trivial-builders: refactor writeTextFile to be overridable
This fixes #126344, specifically with the goal of enabling overriding the
checkPhase argument. See `design notes` at the end for details.

This allows among other things, enabling bash extension for the `checkPhase`.
Previously using such bash extensions was prohibited by the `writeShellScript`
code because there was no way to enable the extension in the checker.

As an example:

```nix
(writeShellScript "foo" ''
  shopt -s extglob
  echo @(foo|bar)
'').overrideAttrs (old: {
  checkPhase = ''
    # use subshell to preserve outer environment
    (
      export BASHOPTS
      shopt -s extglob
      ${old.checkPhase}
    )
  '';
})
```

This commit also adds tests for this feature to `pkgs/tests/default.nix`,
under `trivial-overriding`. The test code is located at
`pkgs/build-support/trivial-builders/test-overriding.nix`.

Design notes:
-------------

Per discussion with @sternenseemann, the original approach of just wrapping
`writeTextFile` in `makeOverridable` had the issue that combined with `callPackage`
in the following form, would shadow the `.override` attribute of the `writeTextFile`:

```nix
with import <nixpkgs>;
callPackage ({writeShellScript}: writeShellScript "foo" "echo foo")
```

A better approach can be seen in this commit, where `checkPhase` is moved
from an argument of `writeTextFile`, which is substituted into `buildCommand`,
into an `mkDerivation` argument, which is substituted from the environment
and `eval`-ed. (see the source)

This way we can simple use `.overideAttrs` as usual, and this also makes
`checkPhase` a bit more conformant to `mkDerivation` naming, with respect to
phases generally being overridable attrs.

Co-authored-by: sterni <sternenseemann@systemli.org>
Co-authored-by: Naïm Favier <n@monade.li>
2021-06-18 01:39:59 +02:00
github-actions[bot] f8b7190a42
Merge staging-next into staging 2021-06-10 00:06:44 +00:00
Matthieu Coudron 83f6711464 neovim.tests: added more tests
to check for creation of vi/vim aliases.
These tests also now follow the coding conventions of having tests in
passthru.test .
2021-06-09 21:45:25 +02:00
github-actions[bot] 5b7fbb07b8
Merge staging-next into staging 2021-06-07 18:48:37 +00:00
Matthieu Coudron 4a2cbcfbb4 neovim: add some tests
To test the generated RC is included in the file and that we have the
option not to wrap the RC.

run:
nix-build -A tests.vim
2021-06-07 18:21:21 +02:00
github-actions[bot] 0d024626ff
Merge staging-next into staging 2021-05-29 19:17:41 +00:00
Matthieu Coudron c73371e04b
neovim: fix neovim.override (#124785)
* neovim: temporary revert to unbreak user configs

Newly introduced "plugins" parameter is disabled until we get a better
testing infrastructure to minimize breaking changes.
2021-05-29 16:36:39 +02:00
github-actions[bot] 5c859b2875
Merge staging-next into staging 2021-05-28 12:48:43 +00:00
Daniël de Kok 1da0b1dbc9
Merge pull request #122158 from danieldk/import-cargo-lock
rustPlatform.buildRustPackage: support direct use of Cargo.lock
2021-05-28 12:07:25 +02:00
Daniël de Kok d3769e43c3 rustPlatform.importCargoLock: add test cases for importCargoLock 2021-05-28 08:01:28 +02:00
github-actions[bot] 7525d5acd3
Merge staging-next into staging 2021-05-26 18:54:44 +00:00
Matthieu Coudron 4a860879ea wrapNeovimUnstable: accept a wrapRc boolean
additional argument not generated by makeNeovimConfig
If true (the default), appends "-u <customRc>" to the wrapped arguments.
Set to false if you want to control where to save the generated config
(e.g., in ~/.config/init.vim or project/.nvimrc)
2021-05-25 22:41:08 +02:00
Matthieu Coudron 7836469dbe neovimUtils: makeNeovimConfig accepts plugins/customRc
mimics home-manager interface and makes it easier to associate configs with plugins. Added a test as well.
2021-05-25 22:41:08 +02:00
Jörg Thalheim 5551a78578
Merge pull request #123989 from Mic92/static-pie
glibc: allow to build position-independent static executable
2021-05-25 06:32:25 +01:00
Jörg Thalheim 166948d479 cc-wrapper: don't set rpath on static-pie executables 2021-05-23 17:38:17 +00:00
Jonathan Ringer c227fb4b17
Merge remote-tracking branch 'origin/master' into staging-next
Conflicts:
	pkgs/development/tools/rust/cargo-cache/default.nix
	pkgs/development/tools/rust/cargo-embed/default.nix
	pkgs/development/tools/rust/cargo-flash/default.nix
	pkgs/servers/nosql/influxdb2/default.nix
2021-05-17 07:01:38 -07:00
Robert Hensing cc60f81e69 writeDirectReferencesToFile: init 2021-05-15 17:04:25 +02:00
Daniël de Kok 85f96822a0 treewide: fix cargoSha256/cargoHash
Rust 1.50.0 incorporated a Cargo change (rust-lang/cargo#8937) in
which cargo vendor erroneously changed permissions of vendored
crates. This was fixed in Rust
1.51.0 (rust-lang/cargo#9131). Unfortunately, this means that all
cargoSha256/cargoHashes produced during the Rust 1.50.0 cycle are
potentially broken.

This change updates cargoSha256/cargoHash tree-wide.

Fixes #121994.
2021-05-08 00:36:37 -07:00
Malte Brandy 2a11f1f5cc
Merge branch 'master' into haskell-updates 2021-05-07 15:03:54 +02:00
Dmitry Kalinkin f674f06ac5
tests.texlive.dvipng: apply recurseIntoAttrs 2021-05-02 19:35:47 -04:00
(cdep)illabout 88d9f2419e
tests.haskell-setBuildTarget: inline haskell package def to avoid IFD 2021-05-02 13:35:14 +09:00
Isaac Shapira d725ac7942
Add haskell.lib.setBuiltTarget, and support non library compiling of a single target 2021-05-02 13:35:07 +09:00