lix/tests
polykernel a382919d7d
primops: lazy evaluation of replaceStrings replacements
The primop `builtins.replaceStrings` currently always strictly evaluates the
replacement strings, however time and space are wasted for their computation
if the corresponding pattern do not occur in the input string. This commit
makes the evaluation of the replacement strings lazy by deferring their
evaluation to when the corresponding pattern are matched and memoize the result
for efficient retrieval on subsequent matches.

The testcases for replaceStrings was updated to check for lazy evaluation
of the replacements. A note was also added in the release notes to
document the behavior change.
2023-05-25 18:35:23 -04:00
..
ca Make tests/dyn-drv test dir 2023-04-19 18:49:50 -04:00
common Cleanup test skipping 2023-03-16 18:43:03 -04:00
config add NIX_USER_CONF_FILES 2020-04-14 18:45:06 +02:00
dyn-drv Rename a few things in new tests 2023-05-08 08:01:58 -04:00
flakes nix flake check: skip derivations for foreign systems (#7759) 2023-05-23 06:59:44 +02:00
installer test: Make the installer work on old rhel versions 2023-03-31 15:29:50 +02:00
lang primops: lazy evaluation of replaceStrings replacements 2023-05-25 18:35:23 -04:00
nixos Add a test for ControlMaster 2023-05-17 11:34:45 +04:00
plugins Backport SourcePath from the lazy-trees branch 2023-04-06 13:15:50 +02:00
add.sh tests/check.sh: Fix a race 2021-07-07 10:48:47 +02:00
bad.tar.xz Validate tarball components 2019-12-13 19:05:26 +01:00
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 Improve documentation and test and requested 2021-01-22 15:58:58 +00:00
binary-cache.sh Harden tests' bash 2023-03-08 10:26:30 -05:00
brotli.sh Move 'nix hash-*' and 'nix to-*' to 'nix hash' 2020-12-03 17:55:55 +01:00
build-delete.sh Harden tests' bash 2023-03-08 10:26:30 -05:00
build-dry.sh Harden tests' bash 2023-03-08 10:26:30 -05: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 Fix nix log with CA derivations 2022-12-08 16:03:20 -05:00
build-hook.nix Fix nix log with CA derivations 2022-12-08 16:03:20 -05: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 tests: remove 'ca-references' feature 2022-04-21 10:06:39 +02:00
build-remote-input-addressed.sh Test the post-build-hook with remote builders 2020-12-09 10:45:12 +01:00
build-remote-trustless-after.sh Experimentally allow forcing nix-daemon trust; use this to test 2023-04-17 13:06:21 -04:00
build-remote-trustless-should-fail-0.sh Experimentally allow forcing nix-daemon trust; use this to test 2023-04-17 13:06:21 -04:00
build-remote-trustless-should-pass-0.sh Experimentally allow forcing nix-daemon trust; use this to test 2023-04-17 13:06:21 -04:00
build-remote-trustless-should-pass-1.sh Experimentally allow forcing nix-daemon trust; use this to test 2023-04-17 13:06:21 -04:00
build-remote-trustless-should-pass-2.sh nix-testing -> daemon-trust-override 2023-04-17 09:35:43 -04:00
build-remote-trustless-should-pass-3.sh Experimentally allow forcing nix-daemon trust; use this to test 2023-04-17 13:06:21 -04:00
build-remote-trustless.sh Experimentally allow forcing nix-daemon trust; use this to test 2023-04-17 13:06:21 -04:00
build-remote.sh Cleanup test skipping 2023-03-16 18:43:03 -04:00
build.sh Make more string values work as installables 2023-05-15 09:03:38 -04:00
ca-shell.nix nix-shell: restore backwards-compat with old nixpkgs 2022-06-13 23:29:28 +02:00
case-hack.sh Fix tests 2014-08-21 21:50:19 +02:00
case.nar Handle case collisions on case-insensitive systems 2014-07-16 16:02:05 +02:00
check-refs.nix move unsafeDiscardReferences out of outputChecks 2023-01-03 18:53:01 +01:00
check-refs.sh Harden tests' bash 2023-03-08 10:26:30 -05:00
check-reqs.nix Restore old (dis)allowedRequisites behaviour for self-references 2018-10-27 15:41:53 +02:00
check-reqs.sh Harden tests' bash 2023-03-08 10:26:30 -05:00
check.nix tests: don't refer to TMPDIR 2022-12-06 16:36:42 +01:00
check.sh Harden tests' bash 2023-03-08 10:26:30 -05:00
common.sh Harden tests' bash 2023-03-08 10:26:30 -05:00
completions.sh SourceExprCommand: swallow EvalError, add tests for this 2022-11-03 10:11:28 +01:00
compression-levels.sh Add compression level for NARs 2021-10-12 02:14:36 -04:00
compute-levels.sh Harden tests' bash 2023-03-08 10:26:30 -05:00
config.nix.in Make the CA tests actuall test CA derivations 2021-06-23 17:36:50 +02:00
config.sh tests/config: test retrieving a single setting's value with nix show-config <setting> 2023-01-13 07:57:55 -08:00
db-migration.sh Cleanup test skipping 2023-03-16 18:43:03 -04:00
dependencies.builder0.sh Make nix why-depends quieter by default 2022-01-19 14:24:14 +01:00
dependencies.nix Add a simple test for nix why-depends 2022-01-18 16:54:53 +01:00
dependencies.sh Harden tests' bash 2023-03-08 10:26:30 -05:00
derivation-json.sh Create nix derivation add command 2023-04-07 08:34:58 -04:00
dummy Add tests/dummy 2021-07-07 11:30:35 +02:00
dump-db.sh Allow running all the tests with the daemon 2021-07-27 17:06:11 +02:00
eval-store.sh Harden tests' bash 2023-03-08 10:26:30 -05:00
eval.nix add tests for nix eval and nix-instantiate 2022-03-16 21:01:51 +02:00
eval.sh quote subshell expansion in tests/eval.sh 2023-05-09 10:06:26 -05:00
experimental-features.sh Fix some issues with experimental config settings 2023-04-17 12:41:04 -04:00
export-graph.nix Support quoted attribute names in -A 2013-11-18 10:21:12 +00:00
export-graph.sh Harden tests' bash 2023-03-08 10:26:30 -05:00
export.sh Fix #1762 2018-02-13 14:26:19 +00:00
failing.nix nix-store --serve: pass on settings.keepFailed from SSH store 2021-08-31 13:11:46 +02:00
fetchClosure.sh Harden tests' bash 2023-03-08 10:26:30 -05:00
fetchGit.sh Cleanup test skipping 2023-03-16 18:43:03 -04:00
fetchGitRefs.sh Cleanup test skipping 2023-03-16 18:43:03 -04:00
fetchGitSubmodules.sh Cleanup test skipping 2023-03-16 18:43:03 -04:00
fetchMercurial.sh Cleanup test skipping 2023-03-16 18:43:03 -04: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 Harden tests' bash 2023-03-08 10:26:30 -05:00
fetchurl.sh Harden tests' bash 2023-03-08 10:26:30 -05:00
filter-source.nix Use shorter daemon socket path in tests 2016-03-24 14:45:55 +01:00
filter-source.sh Add test for builtins.path 2020-07-30 16:38:04 -05:00
fixed.builder1.sh * Test the impureEnvVars feature. 2007-09-11 13:32:04 +00:00
fixed.builder2.sh * Test case to show that parallel builds of different fixed-output 2007-08-28 09:21:47 +00:00
fixed.nix build: also throw hash-mismatch errors if buildMode == bmCheck 2021-09-27 15:44:39 +02:00
fixed.sh build: also throw hash-mismatch errors if buildMode == bmCheck 2021-09-27 15:44:39 +02:00
fmt.sh Harden tests' bash 2023-03-08 10:26:30 -05:00
fmt.simple.sh nix-fmt: add command 2022-03-11 10:00:19 -05:00
function-trace.sh Harden tests' bash 2023-03-08 10:26:30 -05:00
gc-auto.sh Allow running all the tests with the daemon 2021-07-27 17:06:11 +02: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-non-blocking.sh gc-non-blocking.sh: Don't hang indefinitely if the GC roots server crashes 2021-12-13 19:01:38 +01:00
gc-runtime.nix * Refactoring: renamed *.nix.in to *.nix. 2009-03-17 17:11:55 +00:00
gc-runtime.sh Cleanup test skipping 2023-03-16 18:43:03 -04:00
gc.sh test the garbage collection with the old profile dir 2023-05-15 11:58:49 +02:00
hash-check.nix * Purify `make check'. 2006-07-21 13:21:43 +00:00
hash.sh nix-hash: support base-64 and SRI format 2023-03-16 03:08:42 +08:00
import-derivation.nix Allow builtins.pathExists to check the existence of /nix/store paths 2019-07-30 11:27:35 +02:00
import-derivation.sh Don't put results symlinks in the tests directory 2012-09-11 19:14:15 -04:00
impure-derivations.nix Provide default values for outputHashAlgo and outputHashMode 2022-03-31 16:56:44 +02:00
impure-derivations.sh Gate experimental features in DerivationOutput::fromJSON 2023-04-17 17:36:12 -04:00
init.sh nix-testing -> daemon-trust-override 2023-04-17 09:35:43 -04:00
install-darwin.sh Harden tests' bash 2023-03-08 10:26:30 -05:00
lang.sh eval: Fix crash on missing printValue tBlackhole case 2023-04-03 15:32:42 +02:00
legacy-ssh-store.sh Add Store::isTrustedClient() 2023-04-06 19:59:57 -04:00
linux-sandbox-cert-test.nix Add tests for bind mount of SSL certs in sandbox 2023-05-22 02:32:09 +02:00
linux-sandbox.sh Add tests for bind mount of SSL certs in sandbox 2023-05-22 02:32:09 +02:00
local-store.sh Add Store::isTrustedClient() 2023-04-06 19:59:57 -04:00
local.mk Merge pull request #3959 from obsidiansystems/ca-drv-exotic 2023-05-10 10:41:59 -04:00
logging.sh Implement regression test for empty logs loaded via nix log 2022-03-24 22:31:52 +01:00
misc.sh Harden tests' bash 2023-03-08 10:26:30 -05:00
multiple-outputs.nix Add some tests for illegal output names 2023-01-18 14:21:17 +01:00
multiple-outputs.sh Harden tests' bash 2023-03-08 10:26:30 -05:00
nar-access.nix Rename tests/nar-index -> tests/nar-access 2017-11-14 13:27:40 +01:00
nar-access.sh Harden tests' bash 2023-03-08 10:26:30 -05: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 Harden tests' bash 2023-03-08 10:26:30 -05:00
nix-copy-ssh.sh Fix test failures when $TMPDIR changes 2019-06-15 16:36:33 +02:00
nix-daemon-untrusting.sh Experimentally allow forcing nix-daemon trust; use this to test 2023-04-17 13:06:21 -04:00
nix-profile.sh Fix the printing of the installables on nix profile install conflict 2023-05-16 11:41:58 +02:00
nix-shell.sh Fix nix print-dev-env & nix develop with drv paths 2023-05-10 11:29:45 -04:00
nix_path.sh Revert "getDefaultNixPath: actually respect {restrict,pure}-eval" 2023-02-27 15:11:36 +01:00
optimise-store.sh Allow running all the tests with the daemon 2021-07-27 17:06:11 +02:00
output-normalization.sh Test nix build --json return output paths in floating CA case 2023-02-10 18:04:13 -05:00
parallel.builder.sh Drop dependency on ‘expr’ 2014-02-06 13:51:57 +01:00
parallel.nix * Make this test a bit more robust. It's still timing dependent 2009-03-23 15:16:36 +00:00
parallel.sh Add support for ‘make installcheck’ 2013-11-25 18:47:03 +01:00
pass-as-file.sh passAsFile: leave out the hash prefix 2020-01-02 23:56:06 +00:00
path-from-hash-part.sh Add command 'nix store path-from-hash-part' 2022-10-18 16:51:12 +02:00
path.nix Add test for builtins.path 2020-07-30 16:38:04 -05:00
placeholders.sh Fix test failures when $TMPDIR changes 2019-06-15 16:36:33 +02:00
plugins.sh Cleanup test skipping 2023-03-16 18:43:03 -04:00
post-hook.sh tests/post-hook: remove TODO and --derivation upload 2023-05-08 12:58:59 +02:00
pure-eval.nix Add pure evaluation mode 2018-01-16 19:23:18 +01:00
pure-eval.sh Harden tests' bash 2023-03-08 10:26:30 -05:00
push-to-store-old.sh tests/post-hook: test to see if all outputs are passed 2023-05-08 12:43:56 +02:00
push-to-store.sh tests/post-hook: remove TODO and --derivation upload 2023-05-08 12:58:59 +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 Add test for readFile keeping context 2022-01-09 13:42:36 +03:00
recursive.nix Move test/recursive.sh nix expr to file 2023-04-19 19:36:05 -04:00
recursive.sh Merge pull request #3959 from obsidiansystems/ca-drv-exotic 2023-05-10 10:41:59 -04:00
referrers.sh Revert "Fix referrers test" 2021-10-15 16:58:21 +02:00
remote-store.sh Add Store::isTrustedClient() 2023-04-06 19:59:57 -04:00
repair.sh Make --repair-path also repair corrupt optimised links 2022-01-11 11:57:45 +01:00
repl.sh Deduplicate string literal rendering, fix 4909 2023-04-09 22:42:20 +02:00
restricted.nix Add pure evaluation mode 2018-01-16 19:23:18 +01:00
restricted.sh Harden tests' bash 2023-03-08 10:26:30 -05:00
search.nix tests: test nix search behavior 2018-02-25 16:40:05 -06:00
search.sh Harden tests' bash 2023-03-08 10:26:30 -05:00
secure-drv-outputs.nix * On FreeBSD, ‘touch’ is not in the test $PATH, so don't use it. 2011-08-08 14:08:38 +00:00
secure-drv-outputs.sh Remove manifest support 2016-04-11 16:20:15 +02:00
selfref-gc.sh Disable the selfref-gc test when the daemon is too old 2022-04-21 10:06:39 +02:00
shell-hello.nix Allow selecting derivation outputs using 'installable!outputs' 2022-05-03 13:43:52 +02:00
shell.nix Make nix-shell work when nixpkgs is content-addressed 2021-11-26 09:56:48 +01:00
shell.sh Cleanup test skipping 2023-03-16 18:43:03 -04:00
shell.shebang.rb Hardcodes nix-shell instead of /usr/bin/env nix-shell... 2018-04-09 09:36:54 -04:00
shell.shebang.sh Rename "use-substitutes" to "substitute" 2018-01-04 16:58:39 +01:00
signing.sh Dodge "trusted" vs "trustworthy" by being explicit 2022-09-22 14:37:52 -04:00
simple-failing.nix Inline file 2021-12-07 21:45:09 +01:00
simple.builder.sh * Fix the tests. 2007-08-13 13:15:02 +00:00
simple.nix * Refactoring: renamed *.nix.in to *.nix. 2009-03-17 17:11:55 +00:00
simple.sh Fix segfault or stack overflow caused by large derivation fields 2022-01-19 15:21:56 +01:00
ssh-relay.sh Move most store-related commands to 'nix store' 2020-12-03 23:22:22 +01:00
store-ping.sh tests/store-ping: test nix store ping --json 2023-01-31 15:10:54 +01:00
structured-attrs-shell.nix Add testcase for nix develop with __structuredAttrs 2021-06-22 19:15:57 +02:00
structured-attrs.nix Prefix env vars for attrs.* files with NIX_ 2021-06-22 19:45:08 +02:00
structured-attrs.sh Fix the min bound for the structured-attrs test 2021-10-14 16:00:59 +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
suggestions.sh Also display some suggestions for invalid formal arguments 2022-03-08 16:40:22 +01:00
tarball.sh Harden tests' bash 2023-03-08 10:26:30 -05:00
test-infra.sh Harden tests' bash 2023-03-08 10:26:30 -05:00
timeout.nix Replace Unicode quotes in user-facing strings by ASCII 2017-07-30 12:32:45 +01:00
timeout.sh Harden tests' bash 2023-03-08 10:26:30 -05:00
toString-path.sh Trivial changes from the lazy-trees branch 2022-12-07 14:06:34 +01:00
undefined-variable.nix Add a test that nix repl --show-trace actually shows the trace 2021-12-28 15:54:46 +03:00
user-envs-migration.sh Cleanup test skipping 2023-03-16 18:43:03 -04:00
user-envs.builder.sh Test priorities 2012-12-04 14:47:50 +01:00
user-envs.nix Don't hide repeated values while generating manifest.nix 2022-03-22 13:18:56 +01:00
user-envs.sh Harden tests' bash 2023-03-08 10:26:30 -05:00
why-depends.sh Harden tests' bash 2023-03-08 10:26:30 -05:00
zstd.sh add tests for zstd compression 2021-04-09 23:13:08 +02:00