25 lines
661 B
Go
25 lines
661 B
Go
package plugin
|
|
|
|
import (
|
|
"context"
|
|
"runtime"
|
|
"strings"
|
|
"testing"
|
|
|
|
"reasonix/internal/secrets"
|
|
)
|
|
|
|
func TestStdioShellPATHProbeFiltersEnvWhenEnabled(t *testing.T) {
|
|
if runtime.GOOS == "windows" {
|
|
t.Skip("POSIX shell probe")
|
|
}
|
|
secrets.SetFilterSubprocessEnv(true)
|
|
t.Cleanup(func() { secrets.SetFilterSubprocessEnv(false) })
|
|
t.Setenv("REASONIX_TEST_SECRET_TOKEN", "ghp_abcdefghijklmnopqrstuvwxyz")
|
|
|
|
out := runShellPATHCommand(context.Background(), "/bin/sh", []string{"-c", `printf 'tok=%s' "${REASONIX_TEST_SECRET_TOKEN:-none}"`})
|
|
if !strings.Contains(string(out), "tok=none") {
|
|
t.Fatalf("stdio shell PATH probe leaked filtered env: %q", out)
|
|
}
|
|
}
|