Eelco Dolstra
1888f7889b
macOS: Ugly hack to make the tests succeed
...
Sandboxes cannot be nested, so if Nix's build runs inside a sandbox,
it cannot use a sandbox itself. I don't see a clean way to detect
whether we're in a sandbox, so use a test-specific hack.
https://github.com/NixOS/nix/issues/1413
2017-06-19 14:26:05 +02:00
Eelco Dolstra
1d9ab273ba
Add test for setuid seccomp filter
2017-05-29 16:14:10 +02:00
Eelco Dolstra
edbb105e98
Merge branch 'nar-accessor-tree' of https://github.com/bennofs/nix
2017-05-24 11:04:43 +02:00
Eelco Dolstra
f134fc4cbe
Document that builtins.match takes a POSIX extended RE
2017-05-17 12:18:18 +02:00
Benno Fünfstück
4412f7c083
nar-archive.cc: add tests for the nar index
2017-05-15 12:23:21 +02:00
Eelco Dolstra
00b286275c
Linux sandbox: Fix compatibility with older kernels
2017-05-08 15:42:59 +02:00
Eelco Dolstra
bb50c89319
Make the location of the build directory in the sandbox configurable
...
This is mostly for use in the sandbox tests, since if the Nix store is
under /build, then we can't use /build as the build directory.
2017-05-05 17:45:22 +02:00
Eelco Dolstra
16535552ad
build-remote: Add a basic test
...
This only runs on Linux because it requires a diverted store (which
uses mount/user namespaces).
2017-05-02 15:46:10 +02:00
Eelco Dolstra
7dedd3fa24
Add a test for diverted stores
2017-05-02 15:46:09 +02:00
Eelco Dolstra
70581b6363
Fix build hook test
2017-05-02 12:07:56 +02:00
Eelco Dolstra
d7653dfc6d
Remove $NIX_BUILD_HOOK and $NIX_CURRENT_LOAD
...
This is to simplify remote build configuration. These environment
variables predate nix.conf.
The build hook now has a sensible default (namely build-remote).
The current load is kept in the Nix state directory now.
2017-05-01 17:30:16 +02:00
Guillaume Maudoux
a474425425
Fix lexer to support $'
in multiline strings.
2017-05-01 01:15:40 +02:00
Eelco Dolstra
4c95ef3768
Fix nix-shell test
2017-04-25 18:59:18 +02:00
Eelco Dolstra
ba9ad29fdb
Convert Settings to the new config system
...
This makes all config options self-documenting.
Unknown or unparseable config settings and --option flags now cause a
warning.
2017-04-13 20:53:23 +02:00
Will Dietz
a0c56197fc
tests/timeout: create output so tests don't trivially pass
...
Timeout tests rely on failed build to determine success,
so make sure these derivations (silent in particular)
don't fail regardless of timeout behavior.
2017-04-08 12:59:42 -05:00
Will Dietz
30f89e0d65
Process nix.conf options in "new" nix commands, add test.
...
Without this (minor) change, the options set using "--option"
or read from nix.conf were parsed but not used.
2017-04-08 12:59:42 -05:00
Eelco Dolstra
c0745a2531
Merge branch 'remove-perl' of https://github.com/shlevy/nix
2017-03-31 14:13:32 +02:00
Eelco Dolstra
aa23bba27f
Fix tests to reflect the signed-binary-caches default change
2017-03-21 18:06:13 +01:00
Eelco Dolstra
89ffe1eff9
Fix nix-shell tests
...
The nix-shell fix in 668fef2e4f
revealed
that we had some --pure tests that incorrectly depended on PATH from
config.nix's mkDerivation being overwritten by the caller's PATH.
http://hydra.nixos.org/build/49242478
2017-02-24 17:29:02 +01:00
Eelco Dolstra
8d7c6644c5
useChroot -> useSandbox
2017-02-21 15:21:56 +01:00
Shea Levy
418a837897
Remove perl dependency.
...
Fixes #341
2017-02-07 15:56:32 -05:00
Eelco Dolstra
8af062f372
Merge pull request #981 from shlevy/build-remote-c++
...
build-remote: Implement in C++
2017-01-19 18:21:55 +01:00
Eelco Dolstra
21948deed9
Kill builds when we get EOF on the log FD
...
This closes a long-time bug that allowed builds to hang Nix
indefinitely (regardless of timeouts) simply by doing
exec > /dev/null 2>&1; while true; do true; done
Now, on EOF, we just send SIGKILL to the child to make sure it's
really gone.
2017-01-19 17:16:14 +01:00
Eelco Dolstra
90ee1e3fe3
Add a test for --max-silent-time
2017-01-19 17:06:03 +01:00
Eelco Dolstra
c287e797a8
nix-shell: In #! mode, pass the last argument
...
"i < argc - 1" should be "i < argc".
2017-01-03 11:40:51 +01:00
Tuomas Tynkkynen
b501bea25f
tests: Add simple tests for nix-shell
...
nix-shell -A, -p and -i are lightly tested.
2017-01-03 10:11:09 +02:00
Eelco Dolstra
3a4bd320c2
Revert "Merge branch 'seccomp' of https://github.com/aszlig/nix "
...
This reverts commit 9f3f2e21ed
, reversing
changes made to 47f587700d
.
2016-12-19 11:52:57 +01:00
Eelco Dolstra
9f3f2e21ed
Merge branch 'seccomp' of https://github.com/aszlig/nix
2016-12-15 12:04:45 +01:00
Guillaume Maudoux
e4b82af387
Improve error message on trailing path slashes
2016-11-27 17:48:46 +01:00
aszlig
ed64976cec
seccomp: Forge return codes for POSIX ACL syscalls
...
Commands such as "cp -p" also use fsetxattr() in addition to fchown(),
so we need to make sure these syscalls always return successful as well
in order to avoid nasty "Invalid value" errors.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-11-16 17:29:14 +01:00
aszlig
651a18dd24
release.nix: Add a test for sandboxing
...
Right now it only tests whether seccomp correctly forges the return
value of chown, but the long-term goal is to test the full sandboxing
functionality at some point in the future.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-11-16 16:48:34 +01:00
Guillaume Maudoux
a5e761dddb
Fix comments parsing
...
Fixed the parsing of multiline strings ending with an even number of
stars, like /** this **/.
Added test cases for comments.
2016-11-13 17:20:34 +01:00
Shea Levy
167d12b02c
build-remote: Implement in C++
2016-11-10 11:09:15 -05:00
Eelco Dolstra
af3db853fa
Handle $TMPDIR ending with a slash
...
This caused the gc test to fail on Darwin.
2016-10-19 15:19:38 +02:00
Eelco Dolstra
2c8c103ef8
Fix gc-runtime test
...
It was failing on some platforms.
http://hydra.nixos.org/build/39538866
2016-09-12 13:40:07 +02:00
Eelco Dolstra
46e36f9b73
Fix test failure
2016-09-08 18:22:28 +02:00
Eelco Dolstra
26d92017d3
Add builtin function "partition"
...
The implementation of "partition" in Nixpkgs is O(n^2) (because of the
use of ++), and for some reason was causing stack overflows in
multi-threaded evaluation (not sure why).
This reduces "nix-env -qa --drv-path" runtime by 0.197s and memory
usage by 298 MiB (in non-Boehm mode).
2016-08-29 19:36:54 +02:00
Eelco Dolstra
22d6e31fc6
Add a mechanism for derivation attributes to reference the derivation's outputs
...
For example, you can now say:
configureFlags = "--prefix=${placeholder "out"} --includedir=${placeholder "dev"}";
The strings returned by the ‘placeholder’ builtin are replaced at
build time by the actual store paths corresponding to the specified
outputs.
Previously, you had to work around the inability to self-reference by doing stuff like:
preConfigure = ''
configureFlags+=" --prefix $out --includedir=$dev"
'';
or rely on ad-hoc variable interpolation semantics in Autoconf or Make
(e.g. --prefix=\$(out)), which doesn't always work.
2016-08-17 17:19:32 +02:00
Eelco Dolstra
2fad86f361
Remove $NIX_DB_DIR
...
This variable has no reason to exist, given $NIX_STATE_DIR.
2016-08-10 18:05:35 +02:00
Shea Levy
6e51af8023
Nuke nix-push.
...
Rarely used, nix copy replaces it.
2016-08-10 11:13:11 -04:00
Shea Levy
15c035c13f
Remove nix-install-package.
...
Refs #831
2016-08-10 08:20:51 -04:00
Eelco Dolstra
0f55dd5b0e
Shut up warning
2016-07-21 14:25:06 +02:00
Eelco Dolstra
e95f3c4443
Fix test
...
http://hydra.nixos.org/build/36631898
2016-06-17 15:26:10 +02:00
Eelco Dolstra
cf198952d0
HttpBinaryCacheStore: Fix caching of WantMassQuery
...
Also, test HttpBinaryCacheStore in addition to LocalBinaryCacheStore.
2016-06-01 16:24:17 +02:00
Eelco Dolstra
759ac27f28
Fix nix-profile test in a chroot
...
http://hydra.nixos.org/build/36462078
2016-05-31 13:07:24 +02:00
Eelco Dolstra
e4f0ba55ac
Disable the SSH substituter test for now
2016-05-31 11:48:05 +02:00
Eelco Dolstra
f7be7324b4
Forgot to commit
2016-05-30 20:24:14 +02:00
Eelco Dolstra
42ae8d95aa
Test trying the next substitute after a bad signature
2016-05-30 15:18:12 +02:00
Eelco Dolstra
bac123ddd9
Test the NAR info cache
2016-05-30 15:18:12 +02:00
Eelco Dolstra
3593c8285d
Re-implement binary cache signature checking
...
This is now done in LocalStore::addToStore(), rather than in the
binary cache substituter (which no longer exists).
2016-05-30 15:18:12 +02:00
Eelco Dolstra
12ddbad458
LocalStore::addToStore: Verify hash of the imported path
2016-05-30 15:18:12 +02:00
Eelco Dolstra
aa3bc3d5dc
Eliminate the substituter mechanism
...
Substitution is now simply a Store -> Store copy operation, most
typically from BinaryCacheStore to LocalStore.
2016-04-29 13:57:08 +02:00
Eelco Dolstra
41633f9f73
Improved logging abstraction
...
This also gets rid of --log-type, since the nested log type isn't
useful in a multi-threaded situation, and nobody cares about the
"pretty" log type.
2016-04-25 19:18:45 +02:00
Eelco Dolstra
21ef1670b3
Fix test failures
2016-04-21 18:21:25 +02:00
Dan Peebles
608b0265e1
Print out all bad references/requisites at once
...
Also updates tests to check for new information. Fixes #799
2016-04-16 19:58:26 -04:00
Eelco Dolstra
363f37d084
Make the search path lazier with non-fatal errors
...
Thus, -I / $NIX_PATH entries are now downloaded only when they are
needed for evaluation. An error to download an entry is a non-fatal
warning (just like non-existant paths).
This does change the semantics of builtins.nixPath, which now returns
the original, rather than resulting path. E.g., before we had
[ { path = "/nix/store/hgm3yxf1lrrwa3z14zpqaj5p9vs0qklk-nixexprs.tar.xz"; prefix = "nixpkgs"; } ... ]
but now
[ { path = "https://nixos.org/channels/nixos-16.03/nixexprs.tar.xz "; prefix = "nixpkgs"; } ... ]
Fixes #792 .
2016-04-14 15:32:24 +02:00
Eelco Dolstra
fc6a032989
Add tests for restricted eval mode
2016-04-14 15:24:06 +02:00
Shea Levy
7186539711
nix-profile test: Set USER
2016-04-13 10:43:33 -04:00
Eelco Dolstra
867967265b
Remove manifest support
...
Manifests have been superseded by binary caches for years. This also
gets rid of nix-pull, nix-generate-patches and bsdiff/bspatch.
2016-04-11 16:20:15 +02:00
Eelco Dolstra
8cffec8485
Remove failed build caching
...
This feature was implemented for Hydra, but Hydra no longer uses it.
2016-04-08 18:19:04 +02:00
Eelco Dolstra
b86555aa2b
Fix nix-copy-closure test on 16.03
2016-03-30 17:20:53 +02:00
Eelco Dolstra
3b81b26457
Use shorter daemon socket path in tests
...
Otherwise we hit the 104 character limit.
http://hydra.nixos.org/build/33562028
2016-03-24 14:45:55 +01:00
Eelco Dolstra
e03d6e0998
Fix broken number parsing in fromJSON
...
The call to tmp_number.append had its arguments mixed up. Also, JSON
does not allow a trailing "," after array/object members.
2016-02-15 15:01:26 +01:00
Eelco Dolstra
eb62e23f14
Fix test broken by #762
2016-02-15 15:01:26 +01:00
Eelco Dolstra
b3e8d72770
Merge pull request #762 from ctheune/ctheune-floats
...
Implement floats
2016-02-12 12:49:59 +01:00
Eelco Dolstra
4f7824c58e
Remove tests/lexer.sh
...
"tests/lang.sh" can handle this.
2016-02-01 18:27:37 +01:00
Eelco Dolstra
9e7c1a4bbd
Use the daemon when we don't have write access to the Nix database
2016-01-31 10:28:48 +01:00
Eelco Dolstra
5d8b7eb3e1
Revert "Revert "next try for "don't abort when given unmatched '}' with 'start-condition stack underflow'. This fixes #751 """
...
This reverts commit b669d3d2e8
.
2016-01-20 16:34:42 +01:00
Eelco Dolstra
b669d3d2e8
Revert "next try for "don't abort when given unmatched '}' with 'start-condition stack underflow'. This fixes #751 ""
...
This reverts commit ed23c8568e
. Let's
merge this *after* the 1.11.1 release.
2016-01-20 00:05:28 +01:00
Fabian Schmitthenner
ed23c8568e
next try for "don't abort when given unmatched '}' with 'start-condition stack underflow'. This fixes #751 "
...
This reverts commit 8120b6fb8a
and fixes the regression introduced in
8d22b26448
.
2016-01-19 20:35:35 +00:00
Eelco Dolstra
2ef7e2e795
Fix repair test
...
http://hydra.nixos.org/build/30001635
2016-01-07 13:52:48 +01:00
Christian Theune
5cdcaf5e8e
Adapt tests to show that floats work properly.
2016-01-06 10:03:24 +01:00
Eelco Dolstra
6f1743b1a5
Support SHA-512 hashes
...
Fixes #679 .
Note: on x86_64, SHA-512 is considerably faster than SHA-256 (198 MB/s
versus 131 MB/s).
2015-11-04 16:37:49 +01:00
Eelco Dolstra
1f735a3440
<nix/fetchurl.nix>: Support xz-compressed NARs
2015-10-30 12:34:30 +01:00
Eelco Dolstra
dae5dc7ade
<nix/fetchurl.nix>: Support downloading and unpacking NARs
...
This removes the need to have multiple downloads in the stdenv
bootstrap process (like a separate busybox binary for Linux, or
curl/mkdir/sh/bzip2 for Darwin). Now all those files can be combined
into a single NAR.
2015-10-30 11:27:47 +01:00
Iwan Aucamp
75837651f1
Output line number on infinite recursion
2015-07-31 20:26:44 +02:00
Eelco Dolstra
76cc8e97a2
Add sort primop
2015-07-28 18:39:39 +02:00
Eelco Dolstra
50807f3dd5
Add primop genList
...
This can be used to implement functions like ‘imap’ (or for that
matter, ‘map’) without the quadratic complexity incurred by calling
‘++’ repeatedly.
2015-07-28 17:28:35 +02:00
Eelco Dolstra
d6d5885c15
Add replaceStrings primop
...
This is a generalisation of replaceChars in Nixpkgs.
2015-07-24 15:32:24 +02:00
Eelco Dolstra
2e8fd4c5cd
Add concatStringsSep as a primop
...
This fixes the quadratic behaviour of concatStrings/concatStringsSep
in Nixpkgs.
2015-07-24 02:38:09 +02:00
Eelco Dolstra
14be783676
Add primops all and any
...
These are used thousands of times during NixOS evaluation, so it's
useful to speed them up.
2015-07-23 19:23:11 +02:00
Eelco Dolstra
61af14a921
Add foldl' primop
2015-07-23 17:03:02 +02:00
Guillaume Maudoux
467977f203
Fix the parsing of "$"'s in strings.
2015-07-03 14:09:58 +02:00
Eelco Dolstra
90aec21d76
Fix tarball test
...
The tarball cache is stored in $HOME, so the test should set up its
own $HOME.
2015-06-02 13:20:43 +02:00
Eelco Dolstra
bc51175dc0
Add tarball tests
2015-06-01 16:18:23 +02:00
Eelco Dolstra
a1c1bf3a56
Merge branch 'submit/sparse-generation-symlinks' of https://github.com/ctheune/nix
2015-05-21 12:04:54 +02:00
Christian Theune
12a888894b
Mis-read Eelko's request to not make this an option: now, let's not make
...
it an option. :)
2015-05-20 17:29:52 +02:00
Christian Theune
ea39c98d41
Implement alternative to lazy generations:
...
* only the last generation can be lazy
* depend on the '--lazy-generation' flag to be set
2015-05-19 20:03:36 +02:00
Christian Theune
3d83188702
Enable lazy/sparse allocation of generation symlinks: avoid creating
...
new generations if a generation already exists.
Alternatively or additionally I propose a mode where only the *last* generation will be sparse.
2015-05-18 08:38:49 +02:00
aszlig
1f795f9f44
tests: Fix wrong channel name in nix-channel.sh.
...
The $channelName variable passed to the channel builder is the last
portion of the URL and while that works in the previous test for
channels prior to #519 , it doesn't work if the last portion is
nixexprs.tar.bz2.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-04-29 03:18:32 +02:00
Dan Peebles
8a84bd8c8b
Support tarballs in nix channel URLs
2015-04-20 00:34:29 -04:00
Eelco Dolstra
147deb236e
nix-store --generate-binary-cache-key: Write key to disk
...
This ensures proper permissions for the secret key.
2015-02-18 11:19:44 +01:00
Eelco Dolstra
bd91064150
Use $<attr>Path instead of $<attr> for passAsFile
2015-02-17 16:42:54 +01:00
Eelco Dolstra
a70d275f3d
Allow passing attributes via files instead of environment variables
...
Closes #473 .
2015-02-17 14:42:15 +01:00
Eelco Dolstra
8c8750ae66
Test chroot building
2015-02-16 12:20:03 +01:00
Eelco Dolstra
1c972cba14
Make libsodium an optional dependency
2015-02-10 11:54:06 +01:00
Eelco Dolstra
e0def5bc4b
Use libsodium instead of OpenSSL for binary cache signing
...
Sodium's Ed25519 signatures are much shorter than OpenSSL's RSA
signatures. Public keys are also much shorter, so they're now
specified directly in the nix.conf option ‘binary-cache-public-keys’.
The new command ‘nix-store --generate-binary-cache-key’ generates and
prints a public and secret key.
2015-02-04 17:10:31 +01:00
Shea Levy
73bf32ce94
Merge remote-tracking branch 'shlevy/baseNameOf-no-copy'
...
baseNameOf: Don't copy paths to the store first
2015-01-29 03:29:09 -05:00
Eelco Dolstra
6f8ff8564f
Urgh
2014-12-11 09:58:29 +01:00
Eelco Dolstra
d51eed833a
Shut up a warning
2014-12-05 19:25:38 +01:00