1
0
mirror of https://github.com/pocketbase/pocketbase.git synced 2025-11-25 15:42:01 +02:00
Files
pocketbase/tools/osutils/run_test.go

46 lines
803 B
Go

package osutils
import (
"os"
"strconv"
"testing"
)
func TestIsProbablyGoRun(t *testing.T) {
scenarios := []struct {
arg0 string
runDirs []string
expected bool
}{
{"", nil, false},
{"/a/b", nil, false},
{"/a/b", []string{""}, false},
{"/a/b", []string{"/b/"}, false},
{"/a/b", []string{"/a/"}, true},
{"/a/b", []string{"", "/b/", "/a/"}, true},
}
originalArgs := os.Args
defer func() {
os.Args = originalArgs
}()
originalRunDirs := runDirs
defer func() {
runDirs = originalRunDirs
}()
for i, s := range scenarios {
t.Run(strconv.Itoa(i)+"_"+s.arg0, func(t *testing.T) {
os.Args = []string{s.arg0}
runDirs = s.runDirs
result := IsProbablyGoRun()
if result != s.expected {
t.Fatalf("Expected %v, got %v", s.expected, result)
}
})
}
}