package main import ( "fmt" . "github.com/onsi/ginkgo/v2" ) func init() { registerTapTests(LinuxIperfTest) } func LinuxIperfTest(s *TapSuite) { clnCh := make(chan error) stopServerCh := make(chan struct{}) srvCh := make(chan error, 1) clnRes := make(chan string, 1) defer func() { stopServerCh <- struct{}{} }() go func() { defer GinkgoRecover() s.startServerApp(srvCh, stopServerCh, nil) }() err := <-srvCh s.assertNil(err, fmt.Sprint(err)) s.log("server running") ipAddress := s.getInterfaceByName(tapInterfaceName).ip4AddressString() go func() { defer GinkgoRecover() s.startClientApp(ipAddress, nil, clnCh, clnRes) }() s.log("client running") s.log(<-clnRes) err = <-clnCh s.assertNil(err, "err: '%s', ip: '%s'", err, ipAddress) s.log("Test completed") }