lix/tests
Ben Radford 6ae35534b7
Support opening local store with database on read-only filesystem (#8356)
Previously it was not possible to open a local store when its database is on a read-only filesystem. Obviously a store on a read-only filesystem cannot be modified, but it would still be useful to be able to query it.

This change adds a new read-only setting to LocalStore. When set to true, Nix will skip operations that fail when the database is on a read-only filesystem (acquiring big-lock, schema migration, etc), and the store database will be opened in immutable mode.

Co-authored-by: Ben Radford <benradf@users.noreply.github.com>
Co-authored-by: cidkidnix <cidkidnix@protonmail.com>
Co-authored-by: Dylan Green <67574902+cidkidnix@users.noreply.github.com>
Co-authored-by: John Ericson <git@JohnEricson.me>
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-06-20 11:34:09 +02: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
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 rename files referring to antiquotation 2023-06-15 02:29:31 +02:00
nixos Allow tarball URLs to redirect to a lockable immutable URL 2023-06-13 14:17:45 +02:00
plugins Remove RegisterPrimOp constructor without support for documentation 2023-06-14 22:37:52 +02:00
test-libstoreconsumer Fix build hook error for libstore library users 2023-06-15 14:32:00 +02:00
add.sh tests/check.sh: Fix a race 2021-07-07 10:48:47 +02:00
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 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 test: add test for non-defaulting for stding installable input 2023-06-12 08:40:17 -04: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 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
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 Fix SourcePath::resolveSymlinks() 2023-06-06 11:24:10 +02:00
experimental-features.sh Fix some issues with experimental config settings 2023-04-17 12:41:04 -04:00
export-graph.nix
export-graph.sh Harden tests' bash 2023-03-08 10:26:30 -05:00
export.sh
failing.nix nix-store --serve: pass on settings.keepFailed from SSH store 2021-08-31 13:11:46 +02:00
fetchClosure.sh Disable the fetchClosure test for old daemons 2023-05-24 15:35:46 +02: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
filter-source.sh
fixed.builder1.sh
fixed.builder2.sh
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
gc-concurrent.nix
gc-concurrent.sh
gc-concurrent2.builder.sh
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
gc-runtime.sh Cleanup test skipping 2023-03-16 18:43:03 -04:00
gc.sh Split out nix-collect-garbage -d test to new file 2023-06-14 19:01:07 -04:00
hash-check.nix
hash.sh nix-hash: support base-64 and SRI format 2023-03-16 03:08:42 +08: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 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 Support opening local store with database on read-only filesystem (#8356) 2023-06-20 11:34:09 +02: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
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 Test nix-channel --list-generations 2023-06-02 10:21:30 +02:00
nix-collect-garbage-d.sh Split out nix-collect-garbage -d test to new file 2023-06-14 19:01:07 -04:00
nix-copy-ssh.sh
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
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 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
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
read-only-store.sh Support opening local store with database on read-only filesystem (#8356) 2023-06-20 11:34:09 +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 branch 'master' into angerman/mac-fix-recursive-nix 2023-06-09 13:06:47 +02: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
restricted.sh Harden tests' bash 2023-03-08 10:26:30 -05:00
search.nix
search.sh Harden tests' bash 2023-03-08 10:26:30 -05: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
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
shell.shebang.sh
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
simple.nix
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
test-libstoreconsumer.sh Fix build hook error for libstore library users 2023-06-15 14:32:00 +02:00
timeout.nix
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
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