MCPcopy Create free account
hub / github.com/Thunder-Compute/thunder-cli / TestWaitForTCPPortDelayedSuccess

Function TestWaitForTCPPortDelayedSuccess

utils/ssh_test.go:700–729  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

698}
699
700func TestWaitForTCPPortDelayedSuccess(t *testing.T) {
701 // Reserve a port and release it, then start server after delay
702 tmpListener, err := net.Listen("tcp", "127.0.0.1:0")
703 require.NoError(t, err)
704 port := tmpListener.Addr().(*net.TCPAddr).Port
705 tmpListener.Close()
706
707 // Start server after delay
708 serverReady := make(chan struct{})
709 go func() {
710 time.Sleep(300 * time.Millisecond)
711 listener, err := net.Listen("tcp", fmt.Sprintf("127.0.0.1:%d", port))
712 if err != nil {
713 close(serverReady)
714 return
715 }
716 defer listener.Close()
717 close(serverReady)
718 // Keep listener alive for a bit
719 time.Sleep(500 * time.Millisecond)
720 }()
721
722 <-serverReady
723
724 ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
725 defer cancel()
726
727 err = WaitForTCPPort(ctx, "127.0.0.1", port, 2*time.Second)
728 require.NoError(t, err)
729}
730
731func TestWaitForTCPPortRespectsContextDeadline(t *testing.T) {
732 ctx, cancel := context.WithTimeout(context.Background(), 500*time.Millisecond)

Callers

nothing calls this directly

Calls 2

WaitForTCPPortFunction · 0.85
CloseMethod · 0.65

Tested by

no test coverage detected