aboutsummaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
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
2021-03-16Add a test ensuring compatibility with an old daemonregnat
This requires adding `nix` to its own closure which is a bit unfortunate, but as it is optional (the test will be disabled if `OUTER_NIX` is unset) it shouldn't be too much of an issue. (Ideally this should go in another derivation so that we can build Nix and run the test independently, but as the tests are running in the same derivation as the build it's a bit complicated to do so).
2021-03-16tests/local.mk: fix missing newline escapesternenseemann
Fixes syntax error introduced in 54ced9072b94515a756e1e8e76c92a42f0ccf366.
2021-03-15Merge pull request #4580 from obsidiansystems/restore-test-build-remote-ca-fixedEelco Dolstra
Restore now-working build-remote-content-addressed-fixed test
2021-03-15Check the signatures when copying store paths aroundregnat
Broken atm
2021-03-15Merge pull request #4592 from NixOS/ca/remote-cacheEelco Dolstra
Substitute content-addressed derivations
2021-03-01Add test for git+file with bare repositoryKjetil Orbekk
2021-03-01Add a test for the remote caching of CA derivationsregnat
2021-03-01Move the CA tests to a sub-directoryregnat
Requires a slight update to the test infra to work properly, but having the possibility to group tests that way makes the whole thing quite cleaner imho
2021-02-26Restore now-working build-remote-content-addressed-fixed testJohn Ericson
This was - Added in dbf96e10ecc75410c9db798f208f8a8310842a4f. - Commented out in 07975979aae4e7729ae13ffeb7390d07d71ad4bd, which I believe only reached master by mistake. - Deleted in c32168c9bc161e0c9cea027853895971699510cb, when `tests/build-hook-ca.nix` was reused for a new test. But the test works, and we ought to have it.
2021-02-26Merge pull request #4477 from NixOS/ca/build-remoteEelco Dolstra
Build ca derivations remotely
2021-02-26nix flake update: Recreate the lock fileEelco Dolstra
This is probably what most people expect it to do. Fixes #3781. There is a new command 'nix flake lock' that has the old behaviour of 'nix flake update', i.e. it just adds missing lock file entries unless overriden using --update-input.
2021-02-25Add a test for the copy of CA pathsregnat
2021-02-24Initialize plugins after handling initial command line flagsShea Levy
This is technically a breaking change, since attempting to set plugin files after the first non-flag argument will now throw an error. This is acceptable given the relative lack of stability in a plugin interface and the need to tie the knot somewhere once plugins can actually define new subcommands.
2021-02-23Merge pull request #4551 from danieldk/system-features-compute-levelEelco Dolstra
Add x86_64 compute levels as system features
2021-02-23Test the remote building of ca derivationsregnat
2021-02-22Add x86_64 compute levels as additional system typesDaniël de Kok
When performing distributed builds of machine learning packages, it would be nice if builders without the required SIMD instructions can be excluded as build nodes. Since x86_64 has accumulated a large number of different instruction set extensions, listing all possible extensions would be unwieldy. AMD, Intel, Red Hat, and SUSE have recently defined four different microarchitecture levels that are now part of the x86-64 psABI supplement and will be used in glibc 2.33: https://gitlab.com/x86-psABIs/x86-64-ABI https://lwn.net/Articles/844831/ This change uses libcpuid to detect CPU features and then uses them to add the supported x86_64 levels to the additional system types. For example on a Ryzen 3700X: $ ~/aps/bin/nix -vv --version | grep "Additional system" Additional system types: i686-linux, x86_64-v1-linux, x86_64-v2-linux, x86_64-v3-linux
2021-02-19Test the garbage collection of CA derivationsregnat
Simple test to ensure that `nix-build && nix-collect-garbage && nix-build -j0` works as it should
2021-02-09Revert "narinfo: Change NAR URLs to be addressed on the NAR hash instead of ↵Graham Christensen
the compressed hash"
2021-02-09Merge pull request #4464 from tweag/nar-narhash-addressedEelco Dolstra
narinfo: Change NAR URLs to be addressed on the NAR hash instead of the compressed hash