feat: 实现 test/harness 集成测试启动器

This commit is contained in:
Nixevol
2026-09-30 06:30:03 +08:00
parent 7582e8b55e
commit dd5a331db2
9 changed files with 970 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
package main
import (
"encoding/json"
"fmt"
"os"
"os/signal"
"syscall"
"git.asio.asia/nixevol/NixMsg/test/harness"
)
func main() {
srv, err := harness.Start(harness.Options{KeepDir: true})
if err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
info := srv.ConnectionInfo()
enc := json.NewEncoder(os.Stdout)
enc.SetEscapeHTML(false)
if err := enc.Encode(info); err != nil {
_ = srv.Stop()
_ = os.RemoveAll(srv.DataDir)
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
sigCh := make(chan os.Signal, 1)
signal.Notify(sigCh, os.Interrupt, syscall.SIGTERM)
<-sigCh
_ = srv.Stop()
_ = os.RemoveAll(srv.DataDir)
}