From 2ea51a6c717ec6bb9609e750913460c1550088e1 Mon Sep 17 00:00:00 2001 From: rootile Date: Sun, 14 Jun 2026 20:18:11 +0200 Subject: [PATCH] tests: migrate structured-attrs.sh Change-Id: I6d2b82e3aa236d01b9a345c148b7fef3703a446d --- tests/functional/meson.build | 1 - tests/functional/structured-attrs.sh | 10 ---------- .../build/assets}/structured-attrs.nix | 0 .../functional2/build/test_structured_attrs.py | 18 ++++++++++++++++++ 4 files changed, 18 insertions(+), 11 deletions(-) delete mode 100644 tests/functional/structured-attrs.sh rename tests/{functional => functional2/build/assets}/structured-attrs.nix (100%) diff --git a/tests/functional/meson.build b/tests/functional/meson.build index 98fcb6722..1d8a82e77 100644 --- a/tests/functional/meson.build +++ b/tests/functional/meson.build @@ -82,7 +82,6 @@ functional_tests_scripts = [ 'linux-sandbox.sh', 'supplementary-groups.sh', 'build-dry.sh', - 'structured-attrs.sh', 'shell.sh', 'nix-copy-ssh.sh', 'nix-copy-ssh-ng.sh', diff --git a/tests/functional/structured-attrs.sh b/tests/functional/structured-attrs.sh deleted file mode 100644 index dcfe6d580..000000000 --- a/tests/functional/structured-attrs.sh +++ /dev/null @@ -1,10 +0,0 @@ -source common.sh - -clearStore - -rm -f $TEST_ROOT/result - -nix-build structured-attrs.nix -A all -o $TEST_ROOT/result - -[[ $(cat $TEST_ROOT/result/foo) = bar ]] -[[ $(cat $TEST_ROOT/result-dev/foo) = foo ]] diff --git a/tests/functional/structured-attrs.nix b/tests/functional2/build/assets/structured-attrs.nix similarity index 100% rename from tests/functional/structured-attrs.nix rename to tests/functional2/build/assets/structured-attrs.nix diff --git a/tests/functional2/build/test_structured_attrs.py b/tests/functional2/build/test_structured_attrs.py index 11b9a8754..3448ede71 100644 --- a/tests/functional2/build/test_structured_attrs.py +++ b/tests/functional2/build/test_structured_attrs.py @@ -1,3 +1,7 @@ +from pathlib import Path +from testlib.fixtures.file_helper import CopyFile +from testlib.fixtures.file_helper import with_files +from testlib.utils import get_global_asset from testlib.fixtures.nix import Nix @@ -17,3 +21,17 @@ evil_drv = """ def test_improper_structured_attrs_drv(nix: Nix): result = nix.nix_build(["--expr", evil_drv]).run().expect(1) assert "a `__json` attribute cannot be passed" in result.stderr_s + + +@with_files( + { + "structured-attrs.nix": CopyFile("assets/structured-attrs.nix"), + "config.nix": get_global_asset("config.nix"), + } +) +def test_proper_structured_attrs(nix: Nix, files: Path): + result = files / "result" + nix.nix_build(["structured-attrs.nix", "-A", "all", "-o", result]).run().ok() + + assert (result / "foo").read_text() == "bar\n" + assert (files / "result-dev" / "foo").read_text() == "foo\n"