lix/tests
John Ericson 5576d5e987 Parse string context elements properly
Prior to this change, we had a bunch of ad-hoc string manipulation code
scattered around. This made it hard to figure out what data model for
string contexts is.

Now, we still store string contexts most of the time as encoded strings
--- I was wary of the performance implications of changing that --- but
whenever we parse them we do so only through the
`NixStringContextElem::parse` method, which handles all cases. This
creates a data type that is very similar to `DerivedPath` but:

 - Represents the funky `=<drvpath>` case as properly distinct from the
   others.

 - Only encodes a single output, no wildcards and no set, for the
   "built" case.

(I would like to deprecate `=<path>`, after which we are in spitting
distance of `DerivedPath` and could maybe get away with fewer types, but
that is another topic for another day.)
2023-01-10 13:10:49 -05:00
..
ca add explanation and test 2022-11-23 12:06:47 -05:00
config
flakes Merge remote-tracking branch 'origin/master' into fix-7417 2023-01-10 14:35:06 +01:00
installer Quote URLs 2022-09-26 16:57:06 +02:00
lang Merge pull request #5941 from hercules-ci/optimize-intersectAttrs 2023-01-02 15:22:38 +01:00
plugins Parse string context elements properly 2023-01-10 13:10:49 -05:00
add.sh
bad.tar.xz
bash-profile.sh tests: Rename nix-profile.sh -> bash-profile.sh 2022-03-02 11:21:00 +01:00
big-derivation-attr.nix Fix segfault or stack overflow caused by large derivation fields 2022-01-19 15:21:56 +01:00
binary-cache-build-remote.sh
binary-cache.sh Add a test for fetchClosure and 'nix store make-content-addressed' 2022-03-24 21:33:33 +01:00
brotli.sh
build-dry.sh tests/build-dry: re-enable some test 2022-09-28 15:54:45 +02:00
build-hook-ca-fixed.nix tests: grep for string in nix log for remote-builds 2022-03-04 16:58:27 +01:00
build-hook-ca-floating.nix
build-hook.nix tests: grep for string in nix log for remote-builds 2022-03-04 16:58:27 +01:00
build-remote-content-addressed-fixed.sh
build-remote-content-addressed-floating.sh tests: remove 'ca-references' feature 2022-04-21 10:06:39 +02:00
build-remote-input-addressed.sh
build-remote.sh tests: Don't create tests/result 2022-05-02 09:38:51 +02:00
build.sh Merge new tests into build.sh 2022-12-12 17:34:57 -05:00
ca-shell.nix nix-shell: restore backwards-compat with old nixpkgs 2022-06-13 23:29:28 +02:00
case-hack.sh
case.nar
check-refs.nix
check-refs.sh
check-reqs.nix
check-reqs.sh
check.nix tests: don't refer to TMPDIR 2022-12-06 16:36:42 +01:00
check.sh Remove tests for --repeat 2022-12-09 17:35:40 +01:00
common.sh.in Fix onError 2022-08-17 11:36:58 +02:00
completions.sh SourceExprCommand: swallow EvalError, add tests for this 2022-11-03 10:11:28 +01:00
compression-levels.sh
compute-levels.sh
config.nix.in
config.sh
containers.nix tests: fix for nixpkgs 22.11 2023-01-08 14:38:34 +01:00
db-migration.sh
dependencies.builder0.sh
dependencies.nix
dependencies.sh
describe-stores.sh
dummy
dump-db.sh
eval-store.sh
eval.nix add tests for nix eval and nix-instantiate 2022-03-16 21:01:51 +02:00
eval.sh Trivial changes from the lazy-trees branch 2022-12-07 14:06:34 +01:00
export-graph.nix
export-graph.sh
export.sh
failing.nix
fetchClosure.sh Really fix 'nix store make-content-addressed --json' 2022-12-01 16:29:09 +01:00
fetchGit.sh Trivial changes from the lazy-trees branch 2022-12-07 14:06:34 +01:00
fetchGitRefs.sh
fetchGitSubmodules.sh tests/fetchGitSubmodules: fix for newer Git 2022-12-02 20:24:34 +01:00
fetchMercurial.sh Test fetchMercurial with path containing a . segment 2022-04-09 23:39:00 +02:00
fetchPath.sh Don’t create a file in the worktree in the fetchPath test 2022-03-30 11:42:47 +02:00
fetchTree-file.sh Typo 2022-06-02 21:21:10 +02:00
fetchurl.sh fetchTree: Do not re-fetch paths already present 2022-02-28 21:37:49 +01:00
filter-source.nix
filter-source.sh
fixed.builder1.sh
fixed.builder2.sh
fixed.nix
fixed.sh
fmt.sh Enable/fix tests in nix-static 2022-06-22 23:33:15 +02:00
fmt.simple.sh nix-fmt: add command 2022-03-11 10:00:19 -05:00
function-trace.sh Introduce AbstractPos 2022-12-13 00:50:43 +01:00
gc-auto.sh
gc-concurrent.builder.sh
gc-concurrent.nix
gc-concurrent.sh
gc-concurrent2.builder.sh
gc-non-blocking.sh
gc-runtime.nix
gc-runtime.sh
gc.sh
github-flakes.nix tests: switch to non-deprecated nix.settings.* module parameters 2022-12-24 09:15:15 +00:00
hash-check.nix
hash.sh
id-test.nix Add tests for auto-uid-allocation, uid-range and cgroups 2022-11-27 16:38:34 +01:00
import-derivation.nix
import-derivation.sh
impure-derivations.nix Provide default values for outputHashAlgo and outputHashMode 2022-03-31 16:56:44 +02:00
impure-derivations.sh Fix a crash in DerivedPath::Built::toJSON() with impure derivations 2022-12-15 16:02:27 +01:00
init.sh
install-darwin.sh
lang.sh Fix reference to test directory path 2022-12-12 16:55:42 +01:00
linux-sandbox.sh
local-store.sh
local.mk Merge remote-tracking branch 'origin/master' into fix-7417 2023-01-10 14:35:06 +01:00
logging.sh Implement regression test for empty logs loaded via nix log 2022-03-24 22:31:52 +01:00
misc.sh
multiple-outputs.nix tests: Reproduce #6572 2022-11-14 18:03:29 +01:00
multiple-outputs.sh
nar-access.nix
nar-access.sh
nix-build-examples.nix
nix-build.sh
nix-channel.sh
nix-copy-closure.nix tests: switch to non-deprecated nix.settings.* module parameters 2022-12-24 09:15:15 +00:00
nix-copy-ssh.sh
nix-profile.sh Integrate review changes 2022-05-13 22:02:28 +02:00
nix-shell.sh tests/nix-shell: more meaningful testcase 2022-06-22 22:35:48 +02:00
nix_path.sh Trivial changes from the lazy-trees branch 2022-12-07 14:06:34 +01:00
nss-preload.nix tests: switch to non-deprecated nix.settings.* module parameters 2022-12-24 09:15:15 +00:00
optimise-store.sh
parallel.builder.sh
parallel.nix
parallel.sh
pass-as-file.sh
path-from-hash-part.sh Add command 'nix store path-from-hash-part' 2022-10-18 16:51:12 +02:00
path.nix
placeholders.sh
plugins.sh Enable/fix tests in nix-static 2022-06-22 23:33:15 +02:00
post-hook.sh Fix passing $OUT_PATHS to the post-build hook 2022-04-28 13:36:01 +02:00
pure-eval.nix
pure-eval.sh Forbid the tilde expansion in pure eval mode 2022-06-21 14:08:18 +02:00
push-to-store.sh Fix passing $OUT_PATHS to the post-build hook 2022-04-28 13:36:01 +02:00
readfile-context.nix Test that the result of readFile gets ref-scanned 2022-11-14 16:13:26 +01:00
readfile-context.sh
recursive.sh
referrers.sh
remote-builds.nix tests: switch to non-deprecated nix.settings.* module parameters 2022-12-24 09:15:15 +00:00
remote-store.sh
repair.sh
repl.sh tests: enable ca-derivations for simple.nix in repl tests 2022-06-24 11:17:29 -04:00
restricted.nix
restricted.sh Trivial changes from the lazy-trees branch 2022-12-07 14:06:34 +01:00
search.nix
search.sh Add another test for --exclude in nix search 2022-06-20 19:21:45 +02:00
secure-drv-outputs.nix
secure-drv-outputs.sh
selfref-gc.sh Disable the selfref-gc test when the daemon is too old 2022-04-21 10:06:39 +02:00
setuid.nix tests: fix for nixpkgs 22.11 2023-01-08 14:38:34 +01:00
shell-hello.nix Allow selecting derivation outputs using 'installable!outputs' 2022-05-03 13:43:52 +02:00
shell.nix
shell.sh Allow selecting derivation outputs using 'installable!outputs' 2022-05-03 13:43:52 +02:00
shell.shebang.rb
shell.shebang.sh
signing.sh Dodge "trusted" vs "trustworthy" by being explicit 2022-09-22 14:37:52 -04:00
simple-failing.nix
simple.builder.sh
simple.nix
simple.sh Fix segfault or stack overflow caused by large derivation fields 2022-01-19 15:21:56 +01:00
sourcehut-flakes.nix tests: switch to non-deprecated nix.settings.* module parameters 2022-12-24 09:15:15 +00:00
ssh-relay.sh
store-ping.sh Fix the store ping test 2022-01-26 14:15:03 +01:00
structured-attrs-shell.nix
structured-attrs.nix
structured-attrs.sh
substitute-with-invalid-ca.sh
suggestions.sh Also display some suggestions for invalid formal arguments 2022-03-08 16:40:22 +01:00
systemd-nspawn.nix Fix evaluation 2022-11-27 18:58:21 +01:00
tarball.sh fetchTree: Do not re-fetch paths already present 2022-02-28 21:37:49 +01:00
timeout.nix
timeout.sh
toString-path.sh Trivial changes from the lazy-trees branch 2022-12-07 14:06:34 +01:00
undefined-variable.nix
user-envs.builder.sh
user-envs.nix Don't hide repeated values while generating manifest.nix 2022-03-22 13:18:56 +01:00
user-envs.sh Add some tests for nix-env -q --json 2022-03-16 21:33:38 +01:00
why-depends.sh Increase the test coverage of why-depends 2023-01-02 16:09:03 +01:00
zstd.sh