From 6b76a30c04cb74dd9a759789f75bba2eea86a1fb Mon Sep 17 00:00:00 2001 From: Mikhail Osipov Date: Wed, 16 Dec 2020 18:03:08 +0300 Subject: add defer test --- pkg/test/defer_test.go | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 pkg/test/defer_test.go (limited to 'pkg/test/defer_test.go') diff --git a/pkg/test/defer_test.go b/pkg/test/defer_test.go new file mode 100644 index 0000000..215e0b1 --- /dev/null +++ b/pkg/test/defer_test.go @@ -0,0 +1,32 @@ +package test + +import ( + "testing" +) + +func TestDeferSocket(t *testing.T) { + c, s := newClientServer(t) + defer closeClientServer(c, s) + + c.Exec("add name T listen,addr=-:0 defer,addr=@[addr]") + + out := xDial(t, "tcp", c.Get("tunnel.T.listen")) + defer out.Close() + + listen := xListen(t, "tcp", "127.0.0.1:0") + defer listen.Close() + + c.Set("addr", listen.Addr()) + + xWrite(t, out, xData) + + in := xAccept(t, listen) + defer in.Close() + + buf := make([]byte, len(xData)) + xReadFull(t, in, buf) + + if r := string(buf); r != xData { + t.Fatalf("wrong reply: send '%s', recv '%s'", xData, r) + } +} -- cgit v1.2.3-70-g09d2