From 3b56ccecf46b83fa9b0e4b6c54be6ffda395910c Mon Sep 17 00:00:00 2001 From: James O'Doherty Date: Fri, 22 May 2026 11:12:21 -0400 Subject: Implement automatic namespace lifecycle cleanup with last-man-out reference counting --- tests/e2e/e2e_test.go | 26 +++++--------------------- 1 file changed, 5 insertions(+), 21 deletions(-) (limited to 'tests/e2e/e2e_test.go') diff --git a/tests/e2e/e2e_test.go b/tests/e2e/e2e_test.go index fb763b3..7b5858c 100644 --- a/tests/e2e/e2e_test.go +++ b/tests/e2e/e2e_test.go @@ -1,10 +1,7 @@ package e2e import ( - "fmt" - "os" "os/exec" - "path/filepath" "strings" "testing" ) @@ -14,36 +11,23 @@ func TestDataPlaneConnectivity(t *testing.T) { } func TestNetworkIsolation(t *testing.T) { - // 1. Determine project root - cwd, err := os.Getwd() + // 1. Determine binary path + binaryPath, err := GetBinaryPath() if err != nil { - t.Fatalf("Failed to get cwd: %v", err) + t.Skipf("Skipping test: %v", err) } - root := filepath.Join(cwd, "..", "..") - // 2. Build the project to ensure we have a fresh binary - buildCmd := exec.Command("bash", "-c", fmt.Sprintf( - "cd %s && gcc -static -O2 internal/namespace/launcher_src/launcher.c -o internal/namespace/launcher.bin && export CGO_ENABLED=1 && go build -o wg-wrap cmd/wg-wrap/main.go", - root)) - if err := buildCmd.Run(); err != nil { - t.Fatalf("Failed to build project for E2E test: %v", err) - } - - // 3. Run the test-ns command using the binary in the root - binaryPath := filepath.Join(root, "wg-wrap") + // 2. Run the test-ns command using the binary cmd := exec.Command(binaryPath, "test-ns") out, err := cmd.CombinedOutput() if err != nil { t.Fatalf("wg-wrap test-ns failed: %v\nOutput: %s", err, string(out)) } - // 4. Verify the success message + // 3. Verify the success message if !strings.Contains(string(out), "Isolation Verified: OK") { t.Errorf("Expected 'Isolation Verified: OK', got: %q", string(out)) } - - // Cleanup - _ = os.Remove(binaryPath) } func TestDNSLeakage(t *testing.T) { -- cgit v1.2.3