lix/tests
Maximilian Bosch 3b5429aec1
Source complete env in nix-shell with __structuredAttrs = true;
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-22 19:15:57 +02:00
..
ca Remove a possible existing store path when building CA derivations 2021-06-21 15:29:15 +02:00
config add NIX_USER_CONF_FILES 2020-04-14 18:45:06 +02:00
lang Add .tar.zst support for TarballInputScheme 2021-05-29 16:03:26 +07:00
plugins Remove global -I flags 2020-03-30 15:30:19 +02:00
add.sh
bad.tar.xz Validate tarball components 2019-12-13 19:05:26 +01:00
binary-cache-build-remote.sh Improve documentation and test and requested 2021-01-22 15:58:58 +00:00
binary-cache.sh Revert "narinfo: Change NAR URLs to be addressed on the NAR hash instead of the compressed hash" 2021-02-09 12:26:41 -05:00
brotli.sh Move 'nix hash-*' and 'nix to-*' to 'nix hash' 2020-12-03 17:55:55 +01:00
build-dry.sh
build-hook-ca-fixed.nix Restore now-working build-remote-content-addressed-fixed test 2021-02-26 16:32:52 +00:00
build-hook-ca-floating.nix Restore now-working build-remote-content-addressed-fixed test 2021-02-26 16:32:52 +00:00
build-hook.nix Test RemoteStore::buildDerivation 2020-08-13 04:07:14 +00:00
build-remote-content-addressed-fixed.sh Restore now-working build-remote-content-addressed-fixed test 2021-02-26 16:32:52 +00:00
build-remote-content-addressed-floating.sh Restore now-working build-remote-content-addressed-fixed test 2021-02-26 16:32:52 +00:00
build-remote-input-addressed.sh Test the post-build-hook with remote builders 2020-12-09 10:45:12 +01:00
build-remote.sh tests/*: show when tests are skipped 2021-03-31 08:30:12 +02:00
build.sh Properly normalize the content-addressed paths 2021-05-05 21:00:08 +02:00
case-hack.sh
case.nar
check-refs.nix
check-refs.sh
check-reqs.nix
check-reqs.sh
check.nix Delete temporary directory on successful build 2020-04-09 16:37:41 -04:00
check.sh Replace --hashed-mirrors with substituters test 2020-06-12 14:39:44 -05:00
common.sh.in Make the tests (optionnally) run in another derivation 2021-03-16 14:21:39 +01:00
compute-levels.sh Add x86_64 compute levels as additional system types 2021-02-22 09:11:15 +01:00
config.nix.in tests/binary-cache.sh: Improve incomplete closure test 2020-05-12 13:56:00 +02:00
config.sh tests: Test .config stays clean with XDG_CONFIG_HOME set 2021-03-19 15:20:47 -04:00
db-migration.sh Fix the db-migration test 2021-03-16 14:21:41 +01:00
dependencies.builder0.sh
dependencies.nix tests/binary-cache.sh: Improve incomplete closure test 2020-05-12 13:56:00 +02:00
dependencies.sh tests/binary-cache.sh: Improve incomplete closure test 2020-05-12 13:56:00 +02:00
describe-stores.sh Add a test for nix describe-stores 2020-09-16 13:53:28 +02:00
dump-db.sh
export-graph.nix
export-graph.sh tests/binary-cache.sh: Improve incomplete closure test 2020-05-12 13:56:00 +02:00
export.sh
fetchGit.sh tests: check that builtins.fetchGit { ..., ref = "HEAD"; } works 2021-03-30 11:39:37 +02:00
fetchGitRefs.sh Merge remote-tracking branch 'origin/master' into flakes 2020-06-17 10:26:52 +02:00
fetchGitSubmodules.sh Merge remote-tracking branch 'origin/master' into flakes 2020-04-07 14:29:45 +02:00
fetchMercurial.sh fetchMercurial: set HGPLAIN when invoking hg 2020-11-23 16:12:33 +00:00
fetchurl.sh Move <nix/fetchurl.nix> into the nix binary 2020-12-22 14:43:20 +01:00
filter-source.nix
filter-source.sh Add test for builtins.path 2020-07-30 16:38:04 -05:00
fixed.builder1.sh
fixed.builder2.sh
fixed.nix
fixed.sh
flakes.sh Let nix flake check keep going when keep-going is set 2021-06-02 11:13:12 +02:00
function-trace.sh Move import docs 2020-08-25 14:06:01 +02:00
gc-auto.sh Move most store-related commands to 'nix store' 2020-12-03 23:22:22 +01:00
gc-concurrent.builder.sh Make the gc-concurrent test more reliable 2020-07-02 16:13:36 +02:00
gc-concurrent.nix Make the gc-concurrent test more reliable 2020-07-02 16:13:36 +02:00
gc-concurrent.sh Make the gc-concurrent test more reliable 2020-07-02 16:13:36 +02:00
gc-concurrent2.builder.sh Make the gc-concurrent test more reliable 2020-07-02 16:13:36 +02:00
gc-runtime.nix
gc-runtime.sh tests/*: show when tests are skipped 2021-03-31 08:30:12 +02:00
gc.sh
github-flakes.nix tests: Add names to VM tests 2020-10-17 23:34:38 +02:00
hash-check.nix
hash.sh Move 'nix hash-*' and 'nix to-*' to 'nix hash' 2020-12-03 17:55:55 +01:00
import-derivation.nix
import-derivation.sh
init.sh Add a trace to readLine() failures 2021-02-05 12:18:11 +01:00
install-darwin.sh docs+test: fix remaining installer downloads without -L (#4006) 2020-09-12 22:08:40 +02:00
lang.sh Add DummyStore (dummy://) 2020-08-24 18:54:16 +02:00
linux-sandbox.sh tests/*: show when tests are skipped 2021-03-31 08:30:12 +02:00
local-store.sh Test relative store paths 2020-07-17 15:50:53 -04:00
local.mk Remove a possible existing store path when building CA derivations 2021-06-21 15:29:15 +02:00
logging.sh
misc.sh Change error position formatting 2021-01-21 11:02:09 +01:00
multiple-outputs.nix Squashed get CA derivations building 2020-08-07 19:51:55 +00:00
multiple-outputs.sh Add 'nix store delete' command 2021-01-11 19:46:59 +01:00
nar-access.nix
nar-access.sh Move NAR-related commands to 'nix nar' 2020-12-03 18:09:02 +01:00
nix-build-examples.nix tests: Test #4197 nix-build output order regression 2020-11-13 17:50:04 +01:00
nix-build.sh tests: Test #4197 nix-build output order regression 2020-11-13 17:50:04 +01:00
nix-channel.sh Remove references to xmllint 2020-07-23 18:26:48 +02:00
nix-copy-closure.nix nix-copy-closure: verify it works with drvs 2020-11-02 15:50:14 -05:00
nix-copy-ssh.sh
nix-profile.sh nix-env: Create ~/.nix-profile automatically 2019-10-09 23:35:01 +02:00
nix-shell.sh Escape filename given to nix-shell in shebang mode 2020-11-24 15:08:37 -08:00
optimise-store.sh
parallel.builder.sh
parallel.nix
parallel.sh
pass-as-file.sh passAsFile: leave out the hash prefix 2020-01-02 23:56:06 +00:00
path.nix Add test for builtins.path 2020-07-30 16:38:04 -05:00
placeholders.sh
plugins.sh Initialize plugins after handling initial command line flags 2021-02-24 08:22:17 -05:00
post-hook.sh build-remote.sh: Test LegacySSHStore 2020-06-25 18:42:55 +02:00
pure-eval.nix
pure-eval.sh Move 'nix hash-*' and 'nix to-*' to 'nix hash' 2020-12-03 17:55:55 +01:00
push-to-store.sh Add a test for the remote caching of CA derivations 2021-03-01 14:00:17 +01:00
recursive.sh tests/*: show when tests are skipped 2021-03-31 08:30:12 +02:00
referrers.sh Disallow empty store path names 2019-11-26 20:12:15 +01:00
remote-builds.nix tests: Add names to VM tests 2020-10-17 23:34:38 +02:00
remote-store.sh Add a test ensuring compatibility with an old daemon 2021-03-16 14:20:41 +01:00
repair.sh Test whether build/repair results are read-only 2020-09-23 19:09:58 +02:00
restricted.nix
restricted.sh nix: Add --expr flag 2019-11-27 00:05:30 +01:00
search.nix
search.sh Revive 'nix search' 2020-04-20 15:27:09 +02:00
secure-drv-outputs.nix
secure-drv-outputs.sh
setuid.nix tests: Add names to VM tests 2020-10-17 23:34:38 +02:00
shell-hello.nix rename run to shell in tests 2020-05-01 12:17:53 +02:00
shell.nix Escape filename given to nix-shell in shebang mode 2020-11-24 15:08:37 -08:00
shell.sh tests/*: show when tests are skipped 2021-03-31 08:30:12 +02:00
shell.shebang.rb
shell.shebang.sh
signing.sh Rename 'nix store sign-paths' to 'nix store sign' 2021-01-13 23:32:37 +01:00
simple.builder.sh
simple.nix
simple.sh Test whether build/repair results are read-only 2020-09-23 19:09:58 +02:00
ssh-relay.sh Move most store-related commands to 'nix store' 2020-12-03 23:22:22 +01:00
structured-attrs-shell.nix Source complete env in nix-shell with __structuredAttrs = true; 2021-06-22 19:15:57 +02:00
structured-attrs.nix Fix derivation computation with __structuredAttrs and multiple outputs 2020-01-21 21:14:13 +01:00
structured-attrs.sh Source complete env in nix-shell with __structuredAttrs = true; 2021-06-22 19:15:57 +02:00
substitute-with-invalid-ca.sh Check the CA hash when importing stuff in the local store 2021-06-01 15:09:24 +02:00
tarball.sh Move 'nix hash-*' and 'nix to-*' to 'nix hash' 2020-12-03 17:55:55 +01:00
timeout.nix
timeout.sh
user-envs.builder.sh
user-envs.nix Escape ${ in strings when printing Nix expressions 2020-09-14 17:19:25 +02:00
user-envs.sh Remove world-writability from per-user directories 2019-10-09 23:34:48 +02:00
zstd.sh add tests for zstd compression 2021-04-09 23:13:08 +02:00