47 lines
1.4 KiB
Python
47 lines
1.4 KiB
Python
from testlib.utils import get_global_asset_pack
|
|
from pathlib import Path
|
|
from testlib.fixtures.file_helper import with_files
|
|
from testlib.fixtures.file_helper import CopyFile
|
|
from testlib.fixtures.nix import Nix
|
|
|
|
export_files = {"export-graph.nix": CopyFile("assets/export-graph.nix")} | get_global_asset_pack(
|
|
"dependencies"
|
|
)
|
|
|
|
|
|
def check_ref(nix: Nix, file: str):
|
|
res = nix.nix_store(["-q", "--references", nix.env.dirs.home / "result"]).run().ok()
|
|
assert file in res.stdout_plain
|
|
|
|
|
|
def check_out_path_refs(nix: Nix, out_path: str):
|
|
for file in Path(out_path).read_text().splitlines():
|
|
check_ref(nix, file)
|
|
|
|
|
|
@with_files(export_files)
|
|
def test_export_runtime(nix: Nix, files: Path):
|
|
result = files / "result"
|
|
out_path = (
|
|
nix.nix_build(["./export-graph.nix", "-A", 'foo."bar.runtimeGraph"', "-o", result])
|
|
.run()
|
|
.ok()
|
|
)
|
|
references = nix.nix_store(["-q", "--references", result]).run().ok().stdout_plain
|
|
assert len(references.splitlines()) == 4
|
|
|
|
check_ref(nix, "input-2")
|
|
check_out_path_refs(nix, out_path.stdout_plain)
|
|
|
|
|
|
@with_files(export_files)
|
|
def test_built_time(nix: Nix, files: Path):
|
|
result = files / "result"
|
|
out_path = (
|
|
nix.nix_build(["./export-graph.nix", "-A", 'foo."bar.buildGraph"', "-o", result]).run().ok()
|
|
)
|
|
|
|
for file in ["input-1", "input-1.drv", "input-2", "input-2.drv"]:
|
|
check_ref(nix, file)
|
|
check_out_path_refs(nix, out_path.stdout_plain)
|