From 75e0c5d4061d68dc4802285ec137e464f4e01b17 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Sun, 23 Mar 2025 14:14:45 +0900 Subject: test/sandbox: parse full test case This makes declaring multiple tests much cleaner. Signed-off-by: Ophestra --- test/sandbox/assert.nix | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 test/sandbox/assert.nix (limited to 'test/sandbox/assert.nix') diff --git a/test/sandbox/assert.nix b/test/sandbox/assert.nix new file mode 100644 index 00000000..d45e4cb9 --- /dev/null +++ b/test/sandbox/assert.nix @@ -0,0 +1,31 @@ +{ + writeText, + buildGoModule, + + version, + name, + want, +}: +let + wantFile = writeText "fortify-${name}-want.json" (builtins.toJSON want); + mainFile = writeText "main.go" '' + package main + + import "os" + import "git.gensokyo.uk/security/fortify/test/sandbox" + + func main() { (&sandbox.T{FS: os.DirFS("/"), PMountsPath: "/.fortify/mounts"}).MustCheckFile("${wantFile}") } + ''; +in +buildGoModule { + pname = "fortify-${name}-check-sandbox"; + inherit version; + + src = ../.; + vendorHash = null; + + preBuild = '' + go mod init git.gensokyo.uk/security/fortify/test >& /dev/null + cp ${mainFile} main.go + ''; +} -- cgit v1.3.1