Eelco Dolstra
df552a2645
nix eval: Add option to write a directory
...
This is useful for generating the nix manpages, but it may have other
applications (like generating configuration files without a Nix store).
2020-12-02 23:23:23 +01:00
Eelco Dolstra
e5cf501c77
Merge pull request #4284 from tweag/fixed-output-depending-on-ca
...
Allow fixed-output derivations to depend on (floating) content-addressed ones
2020-12-01 20:25:41 +01:00
regnat
9bd8184f1f
Allow fixed-output derivations to depend on (floating) content-addressed ones
...
Fix an overlook of https://github.com/NixOS/nix/pull/4056
2020-11-27 15:39:24 +01:00
Eelco Dolstra
05d9442f68
builtins.fetchGit: Fix shortRev attribute for dirty trees
2020-11-26 21:45:28 +01:00
regnat
13c557fe82
fix the hash rewriting for ca-derivations
2020-11-25 11:33:00 +01:00
Lily Ballard
437189e446
Escape filename given to nix-shell in shebang mode
...
This prevents spaces or other metacharacters from causing nix-shell to
execute the wrong path.
Fixes #4229 .
2020-11-24 15:08:37 -08:00
Luke Granger-Brown
226116f482
fetchMercurial: set HGPLAIN when invoking hg
...
Without setting HGPLAIN, the user's environment leaks into
hg invocations, which means that the output may not be in the
expected format.
HGPLAIN is the Mercurial-recommended solution for this in that
it's intended for uses by scripts and programs which are looking
to parse Mercurial's output in a consistent manner.
2020-11-23 16:12:33 +00:00
Eelco Dolstra
f89fd0bde7
Remove stray debug statement
...
This was causing a failure on macOS.
https://hydra.nixos.org/build/130354318
2020-11-17 15:36:20 +01:00
Eelco Dolstra
f4e790cc85
Merge pull request #4182 from mkenigs/fix-1930
...
Print built derivations as json for build
2020-11-17 14:59:49 +01:00
Eelco Dolstra
bccff827dc
Fix deadlock in IFD through the daemon
...
Fixes #4235 .
2020-11-17 13:50:36 +01:00
Robert Hensing
d264da8d96
tests: Test #4197 nix-build output order regression
2020-11-13 17:50:04 +01:00
Matthew Kenigsberg
d52b12c0a5
Test nix build --json
2020-11-11 10:27:02 -06:00
Sebastian Ullrich
3f24a417da
Add test case for incidentally fixed #4228
2020-11-09 22:43:14 +01:00
Sebastian Ullrich
579b953231
Make test case more precise
...
Co-authored-by: Théophane Hufschmitt <regnat@users.noreply.github.com>
2020-11-09 22:43:14 +01:00
Sebastian Ullrich
fb7735e4cf
nix develop: Preserve stdin with -c
2020-11-09 22:43:14 +01:00
Graham Christensen
8cd2ff69c3
nix-copy-closure: verify it works with drvs
...
Creates test coverage for #4210 and 7cf874c17d
2020-11-02 15:50:14 -05:00
Eelco Dolstra
02a1facbdc
Merge pull request #4056 from tweag/non-ca-depending-on-ca
...
Allow non-CA derivations to depend on CA ones
2020-10-27 17:38:29 +01:00
regnat
ab21ab6501
Test the remote caching of non-ca-depending-on-ca derivations
...
Although the non-resolved derivation will never get a cache-hit (it
doesn't have an output path to query the cache for anyways), we might
get one on the resolved derivation.
2020-10-27 07:29:25 +01:00
regnat
c092fa4702
Allow non-CA derivations to depend on CA derivations
2020-10-27 07:29:23 +01:00
Eelco Dolstra
1e66d146a3
Fix test
2020-10-26 17:59:32 +01:00
Christian Kampka
461cf2b856
Add NIX_CONFIG env var for applying nix.conf overrides
2020-10-21 13:41:26 +02:00
Robert Hensing
ea8d32020e
Tests for #3964
2020-10-18 14:26:37 +02:00
aszlig
cfa26cf181
tests: Add names to VM tests
...
Having vm-test-run-unnamed for all the test derivation doesn't look very
nice, so in order to better distinguish them from their store path,
let's actually give them proper names.
Signed-off-by: aszlig <aszlig@nix.build>
2020-10-17 23:34:38 +02:00
aszlig
5cfdf16dd6
Convert VM tests to Python
...
Perl-based tests are deprecated since NixOS 20.03 and subsequently got
removed in NixOS 20.09, which effectively means that tests are going to
fail as soon as we build it with NixOS 20.09 or anything newer.
I've put "# fmt: off" at the start of every testScript, because
formatting with Black really messes up indentation and I don't think it
really adds anything in value or readability for inlined Python scripts.
Signed-off-by: aszlig <aszlig@nix.build>
2020-10-17 23:32:03 +02:00
Eelco Dolstra
1e8855a7f7
Merge pull request #3958 from obsidiansystems/ca-floating-upstream
...
CA derivations that depend on other CA derivations
2020-09-29 11:37:29 +02:00
John Ericson
10202bbf29
Merge remote-tracking branch 'upstream/master' into ca-floating-upstream
2020-09-28 15:39:11 +00:00
Mateusz Piotrowski
ed66d01065
Fix tar invocation on FreeBSD
...
tar(1) on FreeBSD does not use standard output or input when the -f flag
is not provided. Instead, it defaults to /dev/sa0 on FreeBSD.
Make this tar invocation a bit more robust and explicitly tell tar(1) to
use standard output.
This is one of the issues discovered while porting Nix to FreeBSD. It has
been tested and committed locally to FreeBSD ports:
https://svnweb.freebsd.org/ports/head/sysutils/nix/Makefile?revision=550026&view=markup#l108
2020-09-28 15:23:21 +02:00
Eelco Dolstra
31ab4c3816
Test whether build/repair results are read-only
2020-09-23 19:09:58 +02:00
John Ericson
b7df353f27
Merge remote-tracking branch 'upstream/master' into ca-floating-upstream
2020-09-17 16:33:10 +00:00
Eelco Dolstra
649d3aaf24
Merge pull request #3829 from obsidiansystems/remove-storetype-delegate-regStore
...
Remove storetype delegate reg store -- contains #3736
2020-09-17 13:55:01 +02:00
Eelco Dolstra
b94a35ef40
Merge pull request #4027 from tweag/fix-gc-of-ca-derivations
...
Fix garbage collection of CA derivations
2020-09-17 13:46:26 +02:00
regnat
520895b1da
Fix garbage collection of CA derivations
...
Fix #4026
2020-09-17 13:36:58 +02:00
Eelco Dolstra
c9f51e8705
Remove corepkgs/config.nix
...
This isn't used anywhere except in the configure script of the Perl
bindings. I've changed the latter to use the C++ API's Settings object
at runtime.
2020-09-17 10:42:51 +02:00
John Ericson
f60b380a7f
Merge remote-tracking branch 'upstream/master' into remove-storetype-delegate-regStore
2020-09-16 22:35:24 +00:00
John Ericson
c5ccebae00
Merge remote-tracking branch 'upstream/master' into ca-floating-upstream
2020-09-16 17:50:40 +00:00
regnat
c29624bf7d
Add a test for nix describe-stores
...
Doesn't test much, but at least ensures that the command runs properly
2020-09-16 13:53:28 +02:00
John Ericson
3ba552b245
Merge remote-tracking branch 'upstream/master' into single-ca-drv-build
2020-09-15 14:17:06 +00:00
John Ericson
c08c9f08c7
Merge remote-tracking branch 'upstream/master' into remove-storetype-delegate-regStore
2020-09-15 14:08:35 +00:00
regnat
250f8a4bba
Escape ${
in strings when printing Nix expressions
...
Otherwise the result of the printing can't be parsed back correctly by
Nix (because the unescaped `${` will be parsed as the begining of an
anti-quotation).
Fix #3989
2020-09-14 17:19:25 +02:00
Jade Lovelace
7cb5f643a6
docs+test: fix remaining installer downloads without -L ( #4006 )
...
Co-authored-by: lf- <lf-@users.noreply.github.com>
2020-09-12 22:08:40 +02:00
John Ericson
075d399e3f
Merge remote-tracking branch 'obsidian/single-ca-drv-build' into ca-floating-upstream
2020-09-04 16:04:35 +00:00
John Ericson
c9f1ed912c
Don't chmod symlink before moving outputs around
...
Co-authored-by: Théophane Hufschmitt <regnat@users.noreply.github.com>
2020-09-04 14:41:53 +00:00
John Ericson
b99062b023
Update tests/content-addressed.nix
...
Co-authored-by: Théophane Hufschmitt <regnat@users.noreply.github.com>
2020-09-04 10:29:28 -04:00
John Ericson
aad4abcc9c
Fix floating CA tests
...
We will sometimes try to query the outputs of derivations we can't
resolve. That's fine; it just means we don't know what those outputs are
yet.
2020-09-04 01:17:38 +00:00
John Ericson
b836662f50
Merge remote-tracking branch 'obsidian/single-ca-drv-build' into ca-floating-upstream
...
Tests also now fail as they should
2020-09-03 22:45:00 +00:00
John Ericson
c224a5e5c1
Rename derivation in floating CA test
2020-09-03 22:35:13 +00:00
John Ericson
145915eb39
Beef up floating CA derivations test a bit
2020-09-03 22:14:45 +00:00
John Ericson
975a47f7fe
Merge remote-tracking branch 'obsidian/single-ca-drv-build' into ca-floating-upstream
2020-09-03 22:09:04 +00:00
John Ericson
e7d93e7ece
Merge remote-tracking branch 'upstream/master' into single-ca-drv-build
2020-09-03 15:43:17 +00:00
Eelco Dolstra
00d25e8457
Remove the --indirect flag
...
All GC roots are now indirect.
2020-09-03 11:22:00 +02:00
John Ericson
ef278d00f9
Merge remote-tracking branch 'upstream/master' into single-ca-drv-build
2020-09-01 18:01:48 +00:00
John Ericson
4db0010a93
Test CA derivation input caching
2020-08-28 22:03:54 +00:00
Eelco Dolstra
4bf5faf416
Merge remote-tracking branch 'origin/master' into markdown
2020-08-25 19:47:34 +02:00
Eelco Dolstra
7a02865b94
Move import docs
2020-08-25 14:06:01 +02:00
John Ericson
8eb73a8724
CA derivations that depend on other CA derivations
...
Co-authored-by: Théophane Hufschmitt <regnat@users.noreply.github.com>
2020-08-24 19:01:15 +00:00
Eelco Dolstra
6a67e57019
Add DummyStore (dummy://)
...
DummyStore does not allow building or adding paths. This is useful for
evaluation tests when you don't want to initialize a "proper" store.
2020-08-24 18:54:16 +02:00
John Ericson
27a3f82c0b
Merge remote-tracking branch 'upstream/master' into single-ca-drv-build
2020-08-20 18:28:17 +00:00
John Ericson
3df78858f2
Fix max fd calc and add test
2020-08-20 05:08:50 +00:00
Eelco Dolstra
0c9365c6ba
Merge pull request #3940 from obsidiansystems/fixed-output-remote-builder-test
...
Add commented-out test for remote building with fixed output derivations
2020-08-18 16:12:35 +02:00
Carlo Nucera
07975979aa
Comment out fixed content address test
2020-08-17 15:04:54 -04:00
Eelco Dolstra
7cdc739ece
Merge remote-tracking branch 'origin/master' into markdown
2020-08-17 13:43:39 +02:00
John Ericson
dbf96e10ec
Test remote building with fixed output derivations
2020-08-16 17:38:12 +00:00
John Ericson
3c8b5b6219
Merge remote-tracking branch 'upstream/master' into single-ca-drv-build
2020-08-14 17:00:13 +00:00
Eelco Dolstra
7714d9a943
Merge pull request #3924 from obsidiansystems/features-per-store
...
Make `system-features` a store setting
2020-08-14 17:13:07 +02:00
John Ericson
d2f2be0f70
Test RemoteStore::buildDerivation
...
Fix `wopNarFromPath` which needed a `toRealPath`.
2020-08-13 04:07:14 +00:00
John Ericson
5d67f18c86
Merge branch 'daemon-auth-cleanup' of github.com:obsidiansystems/nix into HEAD
2020-08-12 18:22:31 +00:00
John Ericson
4720853129
Make system-features
a store setting
...
This seems more correct. It also means one can specify the features a
store should support with --store and remote-store=..., which is useful.
I use this to clean up the build remotes test.
2020-08-12 18:13:00 +00:00
John Ericson
8d4162ff9e
Separate auth and logic for the daemon
...
Before, processConnection wanted to know a user name and user id, and
`nix-daemon --stdio`, when it isn't proxying to an underlying daemon,
would just assume "root" and 0. But `nix-daemon --stdio` (no proxying)
shouldn't make guesses about who holds the other end of its standard
streams.
Now processConnection takes an "auth hook", so `nix-daemon` can provide
the appropriate policy and daemon.cc doesn't need to know or care what
it is.
2020-08-12 15:22:33 +00:00
John Ericson
1b5c24662b
Merge branch 'small-drv-serialize-cleanup' of github.com:obsidiansystems/nix into single-ca-drv-build
2020-08-10 01:57:54 +00:00
John Ericson
e913a2989f
Squashed get CA derivations building
2020-08-07 19:51:55 +00:00
Eelco Dolstra
edfd676e05
Fix .ls file names in binary caches
...
These are not supposed to include the 'name' part of the store
path. This was broken by 759947bf72
.
2020-08-07 21:18:29 +02:00
John Ericson
6d9ccde20d
Make JSON equality tests agnostic to ordering
...
It is in fact more sorted than before, but I don't think we want to
guarantee anything about the ordering.
2020-08-04 14:20:13 +00:00
Eelco Dolstra
bf290c2306
Merge remote-tracking branch 'origin/master' into markdown
2020-07-31 16:07:04 +02:00
Matthew Bauer
0bdd6cf6ea
Add test for builtins.path
2020-07-30 16:38:04 -05:00
Matthew Bauer
05ac4db39a
Merge remote-tracking branch 'origin/master' into substitute-other-storedir
2020-07-30 12:38:24 -05:00
Eelco Dolstra
0c94c17644
Merge remote-tracking branch 'origin/master' into markdown
2020-07-29 18:08:57 +02:00
Maximilian Bosch
e4940e90f3
Restore backwards-compat for current builtins.fetchGit
...
If a repo is dirty, it used to return a `rev` object with an "empty"
sha1 (0000000000000000000000000000000000000000). Please note that this
only applies for `builtins.fetchGit` and *not* for `builtins.fetchTree{
type = "git"; }`.
2020-07-28 22:46:39 +02:00
Maximilian Bosch
f742438465
Merge legacy fetchGit
-builtin with the generic fetchTree
-function
...
The original idea was to implement a git-fetcher in Nix's core that
supports content hashes[1]. In #3549[2] it has been suggested to
actually use `fetchTree` for this since it's a fairly generic wrapper
over the new fetcher-API[3] and already supports content-hashes.
This patch implements a new git-fetcher based on `fetchTree` by
incorporating the following changes:
* Removed the original `fetchGit`-implementation and replaced it with an
alias on the `fetchTree` implementation.
* Ensured that the `git`-fetcher from `libfetchers` always computes a
content-hash and returns an "empty" revision on dirty trees (the
latter one is needed to retain backwards-compatibility).
* The hash-mismatch error in the fetcher-API exits with code 102 as it
usually happens whenever a hash-mismatch is detected by Nix.
* Removed the `flakes`-feature-flag: I didn't see a reason why this API
is so tightly coupled to the flakes-API and at least `fetchGit` should
remain usable without any feature-flags.
* It's only possible to specify a `narHash` for a `git`-tree if either a
`ref` or a `rev` is given[4].
* It's now possible to specify an URL without a protocol. If it's missing,
`file://` is automatically added as it was the case in the original
`fetchGit`-implementation.
[1] https://github.com/NixOS/nix/pull/3216
[2] https://github.com/NixOS/nix/pull/3549#issuecomment-625194383
[3] https://github.com/NixOS/nix/pull/3459
[4] https://github.com/NixOS/nix/pull/3216#issuecomment-553956703
2020-07-28 00:44:39 +02:00
Eelco Dolstra
8e41c38867
Remove references to xmllint
2020-07-23 18:26:48 +02:00
Carlo Nucera
4178f36a1d
Test relative store paths
2020-07-17 15:50:53 -04:00
Eelco Dolstra
17f75f9cc4
parseFlakeRef(): Only search for the top-level directory for CLI flakerefs
2020-07-17 14:54:21 +02:00
Eelco Dolstra
832e111494
Merge remote-tracking branch 'origin/master' into flakes
2020-07-14 13:56:18 +02:00
Eelco Dolstra
143a5f32ed
Add a test for local NAR caching
2020-07-13 16:25:48 +02:00
Eelco Dolstra
1d01ae816b
Fix 'nix verify --all' on a binary cache and add a test
2020-07-13 14:35:01 +02:00
Eelco Dolstra
2900a441f5
Add a test for DWARF debug info index generation
2020-07-13 13:38:01 +02:00
Eelco Dolstra
41bdf429ec
Add a test for NAR listing generation
2020-07-13 13:32:33 +02:00
Matthew Bauer
acb74d4d94
Merge remote-tracking branch 'origin/master' into substitute-other-storedir
2020-07-10 18:13:45 -04:00
Eelco Dolstra
68f524d717
nix develop: Support derivations with multiple outputs
2020-07-06 18:34:58 +02:00
Eelco Dolstra
54712aaf8a
Merge remote-tracking branch 'origin/master' into flakes
2020-07-06 16:40:10 +02:00
Ben Burdette
b29a4ea1dc
Merge branch 'master' into add-trace
2020-07-03 07:57:36 -06:00
Eelco Dolstra
dfaad374ff
Merge pull request #3778 from tweag/parallel-tests
...
Parallel tests fixes
2020-07-03 13:17:10 +02:00
Eelco Dolstra
017efae01f
Hopefully fix macOS test failure
2020-07-03 13:16:22 +02:00
regnat
223fbe644a
Shorten the path to the test root
...
Fix a socket length failure on the OSX builders
2020-07-03 09:20:01 +02:00
regnat
5101ed18bc
Fix the test dependencies
...
Reuse the pre-existing list rather than the one written as part of #3777
2020-07-03 09:20:01 +02:00
Eelco Dolstra
5596f879b4
Add test for nix develop
2020-07-02 18:32:45 +02:00
Matthew Bauer
fc2ab42e86
Merge remote-tracking branch 'origin/master' into substitute-other-storedir
2020-07-02 11:14:04 -04:00
Eelco Dolstra
a5b6e870fe
Set gc-reserved-space to 0 in tests
...
This reduces the amount of disk space needed to run the tests from
half a gigabyte to 10 megabytes.
2020-07-02 16:38:42 +02:00
regnat
11ba4ec795
Make the gc-auto test more reliable
...
Use a fifo pipe to handle the synchronisation between the different
threads rather than relying on delays
2020-07-02 16:13:36 +02:00
regnat
c762385457
Make the gc-concurrent test more reliable
...
Use a fifo pipe to handle the synchronisation between the different
threads rather than relying on delays
2020-07-02 16:13:36 +02:00
regnat
1b5aa60767
Run the tests in parallel
...
Cause the time needed to run the testsuite to drop from ~4mins to ~40s
2020-07-02 16:13:36 +02:00