diff options
Diffstat (limited to 'test/sandbox/case')
| -rw-r--r-- | test/sandbox/case/default.nix | 39 | ||||
| -rw-r--r-- | test/sandbox/case/main.go | 39 |
2 files changed, 4 insertions, 74 deletions
diff --git a/test/sandbox/case/default.nix b/test/sandbox/case/default.nix index 01395ff0..0377246c 100644 --- a/test/sandbox/case/default.nix +++ b/test/sandbox/case/default.nix @@ -1,14 +1,5 @@ -pkgs: version: +lib: testProgram: let - inherit (pkgs) - lib - writeText - buildGoModule - pkg-config - util-linux - foot - ; - fs = mode: dir: data: { mode = lib.fromHexString mode; inherit @@ -32,26 +23,6 @@ let ; }; - checkSandbox = buildGoModule { - pname = "check-sandbox"; - inherit version; - - src = ../../.; - vendorHash = null; - - buildInputs = [ util-linux ]; - nativeBuildInputs = [ pkg-config ]; - - preBuild = '' - go mod init git.gensokyo.uk/security/fortify/test >& /dev/null - cp ${./main.go} main.go - ''; - - postInstall = '' - mv $out/bin/test $out/bin/fortify-test - ''; - }; - callTestCase = path: let @@ -67,12 +38,12 @@ let name = "check-sandbox-${tc.name}"; verbose = true; inherit (tc) tty mapRealUid; - share = foot; + share = testProgram; packages = [ ]; - path = "${checkSandbox}/bin/fortify-test"; + path = "${testProgram}/bin/fortify-test"; args = [ "test" - (toString (writeText "fortify-${tc.name}-want.json" (builtins.toJSON tc.want))) + (toString (builtins.toFile "fortify-${tc.name}-want.json" (builtins.toJSON tc.want))) ]; }; in @@ -80,6 +51,4 @@ in preset = callTestCase ./preset.nix; tty = callTestCase ./tty.nix; mapuid = callTestCase ./mapuid.nix; - - _testProgram = checkSandbox; } diff --git a/test/sandbox/case/main.go b/test/sandbox/case/main.go deleted file mode 100644 index 4c639b28..00000000 --- a/test/sandbox/case/main.go +++ /dev/null @@ -1,39 +0,0 @@ -package main - -import ( - "log" - "os" - "strconv" - "strings" - - "git.gensokyo.uk/security/fortify/test/sandbox" -) - -func main() { - log.SetFlags(0) - log.SetPrefix("test: ") - - if len(os.Args) < 2 { - log.Fatal("invalid argument") - } - - switch os.Args[1] { - case "filter": - if len(os.Args) != 4 { - log.Fatal("invalid argument") - } - - if pid, err := strconv.Atoi(strings.TrimSpace(os.Args[2])); err != nil { - log.Fatalf("%s", err) - } else if pid < 1 { - log.Fatalf("%d out of range", pid) - } else { - sandbox.MustCheckFilter(pid, os.Args[3]) - return - } - - default: - (&sandbox.T{FS: os.DirFS("/")}).MustCheckFile(os.Args[1], "/tmp/sandbox-ok") - return - } -} |
