tests/functional2: migrate dump-db.sh

Change-Id: Ife8ff62add37f50867f55a5eaa26f7a68fad1c78
This commit is contained in:
Commentator2.0
2026-01-20 10:08:36 +00:00
committed by Rutile
parent cdd8508bc9
commit eca222c7ca
4 changed files with 31 additions and 24 deletions
-22
View File
@@ -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
-1
View File
@@ -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',
+30
View File
@@ -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
+1 -1
View File
@@ -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"),