test/sandbox: pass want file as argument
All checks were successful
Test / Create distribution (push) Successful in 25s
Test / Fpkg (push) Successful in 33s
Test / Fortify (push) Successful in 2m7s
Test / Data race detector (push) Successful in 2m36s
Test / Flake checks (push) Successful in 49s

This avoids building the check program multiple times.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2025-03-23 15:00:59 +09:00
parent 75e0c5d406
commit 2d379b5a38
3 changed files with 16 additions and 22 deletions

View File

@@ -3,22 +3,9 @@
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";
pname = "check-sandbox";
inherit version;
src = ../.;
@@ -26,6 +13,13 @@ buildGoModule {
preBuild = ''
go mod init git.gensokyo.uk/security/fortify/test >& /dev/null
cp ${mainFile} main.go
cp ${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(os.Args[1]) }
''} main.go
'';
}