aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/sandbox/tool
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-10-01 22:34:51 +0900
committerOphestra <cat@gensokyo.uk>2026-10-02 19:48:08 +0900
commit5647daa6204213d0f78c9853de572d50bd9af030 (patch)
treec53689a4fc1f7cd74c33a0454f78cd0f9d85e458 /test/sandbox/tool
parent4b19686109b0962ea68dfe58feafffe3bac9c202 (diff)
test/sandbox: migrate testswip-ci
This benefits even more than the cmd/sharefs test suite, the slow python-based test script was a major bottleneck. Replacing the nix-represented test cases with compound literals also significantly increases readability. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'test/sandbox/tool')
-rw-r--r--test/sandbox/tool/main.go60
1 files changed, 1 insertions, 59 deletions
diff --git a/test/sandbox/tool/main.go b/test/sandbox/tool/main.go
index 889142d4..490c3c5e 100644
--- a/test/sandbox/tool/main.go
+++ b/test/sandbox/tool/main.go
@@ -4,12 +4,9 @@ package main
import (
"flag"
- "fmt"
"log"
"os"
"os/signal"
- "strconv"
- "strings"
"syscall"
"hakurei.app/test/internal/sandbox"
@@ -47,60 +44,5 @@ func main() {
return
}
- switch args[0] {
- case "filter":
- if len(args) != 2 {
- log.Fatal("invalid argument")
- }
-
- if pid, err := strconv.Atoi(strings.TrimSpace(args[1])); err != nil {
- log.Fatalf("%s", err)
- } else if pid < 1 {
- log.Fatalf("%d out of range", pid)
- } else {
- sandbox.MustCheckFilter(pid, flagBpfHash)
- if err = syscall.Kill(pid, syscall.SIGINT); err != nil {
- log.Fatalf("cannot signal check process: %v", err)
- }
- }
-
- case "hash": // this eases the pain of passing the hash to python
- fmt.Print(flagBpfHash)
-
- case "fd":
- if len(args) != 2 {
- log.Fatal("invalid argument")
- }
- prefix := fmt.Sprintf("/proc/%s/fd/", args[1])
-
- var fail bool
- if entries, err := os.ReadDir(prefix); err != nil {
- log.Fatal(err.Error())
- } else {
- for _, ent := range entries {
- var fd int
- if fd, err = strconv.Atoi(ent.Name()); err != nil {
- log.Fatal(err.Error())
- }
-
- // skip standard streams
- if fd <= 2 {
- continue
- }
- fail = true
-
- var d string
- if d, err = os.Readlink(prefix + ent.Name()); err != nil {
- log.Fatal(err.Error())
- }
- log.Printf("[FAIL] extra fd %d -> %s", fd, d)
- }
- }
- if fail {
- log.Fatal("[FAIL] file descriptors leaked")
- }
-
- default:
- log.Fatal("invalid argument")
- }
+ log.Fatal("invalid argument")
}