diff --git a/cmd/bd/scripttest_test.go b/cmd/bd/scripttest_test.go index 989b8065..dd44d391 100644 --- a/cmd/bd/scripttest_test.go +++ b/cmd/bd/scripttest_test.go @@ -2,6 +2,7 @@ package main import ( "context" + "os" "os/exec" "path/filepath" "runtime" @@ -20,7 +21,8 @@ func TestScripts(t *testing.T) { // Build the bd binary exeName := "bd" - exe := filepath.Join(t.TempDir(), exeName) + binDir := t.TempDir() + exe := filepath.Join(binDir, exeName) if err := exec.Command("go", "build", "-o", exe, ".").Run(); err != nil { t.Fatal(err) } @@ -29,7 +31,11 @@ func TestScripts(t *testing.T) { timeout := 2 * time.Second engine := script.NewEngine() engine.Cmds["bd"] = script.Program(exe, nil, timeout) - + + // Add binDir to PATH so 'sh -c bd ...' works in test scripts + currentPath := os.Getenv("PATH") + env := []string{"PATH=" + binDir + ":" + currentPath} + // Run all tests - scripttest.Test(t, context.Background(), engine, nil, "testdata/*.txt") + scripttest.Test(t, context.Background(), engine, env, "testdata/*.txt") }