aboutsummaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2021-06-28Merge pull request #4937 from NixOS/ca/make-the-tests-usefulEelco Dolstra
Make the CA tests actually test something
2021-06-25tests: Get rid of some result symlinksEelco Dolstra
Fixes error: cannot create symlink '/home/eelco/Dev/nix/tests/result'; already exists
2021-06-24Make CA derivations compatible with recursive Nixregnat
Add an access-control list to the realisations in recursive-nix (similar to the already existing one for store paths), so that we can build content-addressed derivations in the restricted store. Fix #4353
2021-06-24Make the post-build-hook also run for unresolved CA derivationsregnat
Fix #4837
2021-06-23Fix the CA gc testregnat
Broken by https://github.com/NixOS/nix/issues/4936
2021-06-23Make the CA tests actuall test CA derivationsregnat
Fix a mistake in config.nix that was preventing `NIX_TESTS_CA_BY_DEFAULT` from having any meaningful effect
2021-06-23Merge pull request #4839 from NixOS/ca/gracefully-handle-duplicate-realisationsEelco Dolstra
Gracefully handle duplicate realisations
2021-06-23Merge pull request #4908 from NixOS/ca/fix-nix-developEelco Dolstra
Make `nix develop` work with CA derivations
2021-06-23Merge pull request #4842 from NixOS/ca/fix-nix-shellEelco Dolstra
Make `nix-shell` support content-addressed derivations
2021-06-23Add a test for the “two glibc” issueregnat
2021-06-23Merge pull request #4838 from NixOS/ca/recursively-substitute-realisationsEelco Dolstra
Recursively substitute the realisations
2021-06-23Merge pull request #4906 from NixOS/collect-garbage-caEelco Dolstra
Make `computeFSClosure` ca-aware
2021-06-23Merge pull request #4905 from NixOS/ca-derivations-machine-featureEelco Dolstra
Add a ca-derivations required machine feature
2021-06-22Prefix env vars for attrs.* files with NIX_Maximilian Bosch
2021-06-22Add testcase for `nix develop` with `__structuredAttrs`Maximilian Bosch
2021-06-22Set environment variables for .attrs.json & .attrs.shMaximilian Bosch
This way no derivation has to expect that these files are in the `cwd` during the build. This is problematic for `nix-shell` where these files would have to be inserted into the nix-shell's `cwd` which can become problematic with e.g. recursive `nix-shell`. To remain backwards-compatible, the location inside the build sandbox will be kept, however using these files directly should be deprecated from now on.
2021-06-22Source complete env in `nix-shell` with `__structuredAttrs = true;`Maximilian Bosch
This is needed to push the adoption of structured attrs[1] forward. It's now checked if a `__json` exists in the environment-map of the derivation to be openend in a `nix-shell`. Derivations with structured attributes enabled also make use of a file named `.attrs.json` containing every environment variable represented as JSON which is useful for e.g. `exportReferencesGraph`[2]. To provide an environment similar to the build sandbox, `nix-shell` now adds a `.attrs.json` to `cwd` (which is mostly equal to the one in the build sandbox) and removes it using an exit hook when closing the shell. To avoid leaking internals of the build-process to the `nix-shell`, the entire logic to generate JSON and shell code for structured attrs was moved into the `ParsedDerivation` class. [1] https://nixos.mayflower.consulting/blog/2020/01/20/structured-attrs/ [2] https://nixos.org/manual/nix/unstable/expressions/advanced-attributes.html#advanced-attributes
2021-06-21Remove a possible existing store path when building CA derivationsregnat
In case a previous interrupted build left a garbage path laying around, remove it before trying to move the path to its final location. Fix #4858
2021-06-17libfetchers/git: fetch submodules by defaultTimothy DeHerrera
2021-06-15Add a test for the gc with CA derivationsregnat
Also add a small architecture to easily run CA-enabled tests
2021-06-11Make `nix develop` work with CA derivationsregnat
Fix #4823
2021-06-11Make `nix-shell` support content-addressed derivationsregnat
Resolve the derivation before trying to load its environment − essentially reproducing what the build loop does − so that we can effectively access our dependencies (and not just their placeholders). Fix #4821
2021-06-11Add a ca-derivations required machine featureregnat
Make ca-derivations require a `ca-derivations` machine feature, and ca-aware builders expose it. That way, a network of builders can mix ca-aware and non-ca-aware machines, and the scheduler will send them in the right place.
2021-06-02Let `nix flake check` keep going when keep-going is setregnat
When the `keep-going` option is set to `true`, make `nix flake check` continue as much as it can before failing. The UI isn’t perfect as-it-is as all the lines currently start with a mostly useless `error (ignored): error:` prefix, but I’m not sure what the best output would be, so I’ll leave it as-it-is for the time being (This is a bit hijacking the `keep-going` flag as it’s supposed to be a build-time only thing. But I think it’s faire to reuse it here). Fix https://github.com/NixOS/nix/issues/4450
2021-06-01Check the CA hash when importing stuff in the local storeregnat
When adding a path to the local store (via `LocalStore::addToStore`), ensure that the `ca` field of the provided `ValidPathInfo` does indeed correspond to the content of the path. Otherwise any untrusted user (or any binary cache) can add arbitrary content-addressed paths to the store (as content-addressed paths don’t need a signature).
2021-05-29Add .tar.zst support for TarballInputSchemeTimothy Klim
2021-05-26Recursively substitute the realisationsregnat
Make sure that whenever we substitute a realisation, we also substitute its entire closure
2021-05-17Add a test for `nix run` with CA derivationsregnat
2021-05-10Merge pull request #4781 from NixOS/locally_cache_the_remote_realisationsEelco Dolstra
Add a realisations disk cache
2021-05-10Merge pull request #4787 from Ma27/builtins-ceil-floorEelco Dolstra
Implement `builtins.floor` and `builtins.ceil` using the C library functions internally
2021-05-10Implement `builtins.floor` and `builtins.ceil` using the C library functions ↵Maximilian Bosch
internally Closes #4782 Note: even though the type is internally called `NixFloat`, it's actually a `double`.
2021-05-06Add a realisations disk cacheregnat
Similar to the nar-info disk cache (and using the same db). This makes rebuilds muuch faster. - This works regardless of the ca-derivations experimental feature. I could modify the logic to not touch the db if the flag isn’t there, but given that this is a trash-able local cache, it doesn’t seem to be really worth it. - We could unify the `NARs` and `Realisation` tables to only have one generic kv table. This is left as an exercise to the reader. - I didn’t update the cache db version number as the new schema just adds a new table to the previous one, so the db will be transparently migrated and is backwards-compatible. Fix #4746
2021-05-05Properly normalize the content-addressed pathsregnat
Make sure that their timestamp are always normalized. Otherwise, strange − and non-deterministic − things might happen, like https://github.com/NixOS/nixpkgs/issues/121813 Fix #4775
2021-04-23fixup! Add a regression test for #4725regnat
2021-04-22Add a regression test for #4725regnat
2021-04-15Merge branch 'build-with-strictDeps' of https://github.com/hercules-ci/nixEelco Dolstra
2021-04-15Merge branch 'libarchive-decompress' of https://github.com/serokell/nixEelco Dolstra
2021-04-09add tests for zstd compressionDomen Kožar
2021-03-31tests/*: show when tests are skippedRobert Hensing
2021-03-30Merge pull request #4676 from bjornfor/fix-fetchgit-ref-headEelco Dolstra
fetchGit: don't prefix "refs/heads/" on ref = "HEAD"
2021-03-30tests: check that builtins.fetchGit { ..., ref = "HEAD"; } worksBjørn Forsman
2021-03-29Merge pull request #4239 from tweag/test-against-old-daemonEelco Dolstra
Add a CI check to ensure compatibility with an old daemon
2021-03-26LocalBinaryCacheStore::upsertFile(): Fix raceEelco Dolstra
When multiple threads try to upsert the same file, this could fail. Fixes #4667.
2021-03-19tests: Test `.config` stays clean with XDG_CONFIG_HOME setSamuel Dionne-Riel
2021-03-19tests/config: Fix config test configurationSamuel Dionne-Riel
First, "XDG_CONFIG_HOME" shouldn't be named "home", as it may be confusing compared with `$HOME`, which an upcoming test will be using. Then, using a fixed location for the test is problematic. Use `$TEST_ROOT` instead.
2021-03-16Merge 'nix flake {info,list-inputs}' into 'nix flake metadata'Eelco Dolstra
Fixes #4613.
2021-03-16Fix the db-migration testregnat
2021-03-16Remove the `remote-store-old-daemon` testregnat
Doesn't make sense anymore with the new setup
2021-03-16Make the tests (optionnally) run in another derivationregnat
That way we can run them without rebuilding Nix
2021-03-16Add a test for the migration of the db between versionsregnat