diff --git a/tests/functional/dump-db.sh b/tests/functional/dump-db.sh deleted file mode 100644 index 48647f403..000000000 --- a/tests/functional/dump-db.sh +++ /dev/null @@ -1,22 +0,0 @@ -source common.sh - -needLocalStore "--dump-db requires a local store" - -clearStore - -path=$(nix-build dependencies.nix -o $TEST_ROOT/result) - -deps="$(nix-store -qR $TEST_ROOT/result)" - -nix-store --dump-db > $TEST_ROOT/dump - -rm -rf $NIX_STATE_DIR/db - -nix-store --load-db < $TEST_ROOT/dump - -deps2="$(nix-store -qR $TEST_ROOT/result)" - -[ "$deps" = "$deps2" ]; - -nix-store --dump-db > $TEST_ROOT/dump2 -cmp $TEST_ROOT/dump $TEST_ROOT/dump2 diff --git a/tests/functional/meson.build b/tests/functional/meson.build index 2b8e46bd4..75bbd2a87 100644 --- a/tests/functional/meson.build +++ b/tests/functional/meson.build @@ -109,7 +109,6 @@ functional_tests_scripts = [ 'local-store.sh', 'filter-source.sh', 'misc.sh', - 'dump-db.sh', 'linux-sandbox.sh', 'supplementary-groups.sh', 'build-dry.sh', diff --git a/tests/functional2/store/test_dump_db.py b/tests/functional2/store/test_dump_db.py new file mode 100644 index 000000000..56778a308 --- /dev/null +++ b/tests/functional2/store/test_dump_db.py @@ -0,0 +1,30 @@ +import shutil + +from functional2.testlib.fixtures.file_helper import with_files +from functional2.testlib.fixtures.nix import Nix +from functional2.testlib.utils import get_global_asset_pack + + +@with_files(get_global_asset_pack("dependencies")) +def test_dump_db(nix: Nix): + nix.nix_build(["dependencies.nix", "-o", "result"]).run().ok() + + res = nix.nix_store(["-qR", "result"], build=True).run().ok() + deps = res.stdout_plain + + res = nix.nix_store(["--dump-db"], build=True).run().ok() + dump = res.stdout + + shutil.rmtree(nix.env.dirs.nix_state_dir / "db") + + nix.nix_store(["--load-db"], build=True).with_stdin(dump).run().ok() + + res = nix.nix_store(["-qR", "result"], build=True).run().ok() + deps2 = res.stdout_plain + + assert deps == deps2 + + res = nix.nix_store(["--dump-db"], build=True).run().ok() + dump2 = res.stdout + + assert dump == dump2 diff --git a/tests/functional2/testlib/fixtures/env.py b/tests/functional2/testlib/fixtures/env.py index 3f8003ee0..60e86ed0e 100644 --- a/tests/functional2/testlib/fixtures/env.py +++ b/tests/functional2/testlib/fixtures/env.py @@ -190,7 +190,7 @@ class ManagedEnv: test_root=self._get_dir(""), home=self._get_dir("test-home"), nix_log_dir=self._get_dir("var/log/nix"), - nix_state_dir=self._get_dir("var/nix"), + nix_state_dir=self._get_dir("nix/var/nix"), nix_conf_dir=self._get_dir("etc/nix"), nix_bin_dir=lix_bin, real_store_dir=self._get_dir("nix/store"),