fortify/test/sandbox/assert.nix
Ophestra 4556d81dc6
Some checks failed
Test / Create distribution (push) Successful in 25s
Test / Fortify (push) Successful in 2m28s
Test / Fpkg (push) Successful in 3m28s
Test / Data race detector (push) Successful in 4m5s
Test / Flake checks (push) Failing after 50s
test/sandbox: parse full test case
This makes declaring multiple tests much cleaner.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-03-23 14:14:45 +09:00

33 lines
635 B
Nix

{
lib,
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
'';
}