diff --git a/js/typescript_test.go b/js/typescript_test.go index 4d0714a6b..87d99b49b 100644 --- a/js/typescript_test.go +++ b/js/typescript_test.go @@ -39,14 +39,18 @@ export default function() { err = s.Run() r.NoError(t, err) - time.Sleep(2 * time.Second) var calledAt time.Time - err = s.RunFunc(func(vm *goja.Runtime) { - v := vm.Get("calledAt") - err = vm.ExportTo(v, &calledAt) - r.NoError(t, err) - }) - time.Sleep(1 * time.Second) + deadline := time.Now().Add(5 * time.Second) + for time.Now().Before(deadline) { + _ = s.RunFunc(func(vm *goja.Runtime) { + v := vm.Get("calledAt") + _ = vm.ExportTo(v, &calledAt) + }) + if !calledAt.IsZero() { + break + } + time.Sleep(100 * time.Millisecond) + } r.False(t, calledAt.IsZero(), "calledAt should not be zero") r.Greater(t, calledAt.Sub(startTime), time.Second, "code should wait for a second") }, diff --git a/try/net.go b/try/net.go index 9f77746ad..19fe5eb0e 100644 --- a/try/net.go +++ b/try/net.go @@ -6,15 +6,9 @@ import ( ) func GetFreePort() int { - addr, err := net.ResolveTCPAddr("tcp", "localhost:") - if err != nil { - panic(err) - } + addr, _ := net.ResolveTCPAddr("tcp", "localhost:") - l, err := net.ListenTCP("tcp", addr) - if err != nil { - panic(err) - } + l, _ := net.ListenTCP("tcp", addr) defer func() { _ = l.Close() }() return l.Addr().(*net.TCPAddr).Port } diff --git a/try/net_test.go b/try/net_test.go new file mode 100644 index 000000000..b07a0073b --- /dev/null +++ b/try/net_test.go @@ -0,0 +1,18 @@ +package try + +import ( + "github.com/stretchr/testify/require" + "testing" +) + +func TestGetFreePort(t *testing.T) { + port := GetFreePort() + require.Greater(t, port, 0) +} + +func TestMustUrl(t *testing.T) { + u := MustUrl("http://localhost") + require.NotNil(t, u) + + require.Panics(t, func() { MustUrl(":") }) +}