ftests fail occationally on Linux
Closed this issue · 0 comments
owenthereal commented
make test
go test ./... -timeout=60s -coverprofile=c.out -covermode=atomic -mod=vendor -count=1 -race -v
? github.com/jingweno/upterm/cmd/gendoc [no test files]
? github.com/jingweno/upterm/cmd/upterm [no test files]
=== RUN Test_parseURL
=== RUN Test_parseURL/port_443
=== PAUSE Test_parseURL/port_443
=== RUN Test_parseURL/port_80
=== PAUSE Test_parseURL/port_80
=== RUN Test_parseURL/port_22
=== PAUSE Test_parseURL/port_22
=== RUN Test_parseURL/no_port
=== PAUSE Test_parseURL/no_port
=== CONT Test_parseURL/port_443
=== CONT Test_parseURL/port_80
=== CONT Test_parseURL/port_22
=== CONT Test_parseURL/no_port
--- PASS: Test_parseURL (0.01s)
--- PASS: Test_parseURL/port_80 (0.00s)
--- PASS: Test_parseURL/port_22 (0.00s)
--- PASS: Test_parseURL/no_port (0.00s)
--- PASS: Test_parseURL/port_443 (0.01s)
PASS
coverage: 5.0% of statements
ok github.com/jingweno/upterm/cmd/upterm/command 0.650s coverage: 5.0% of statements
? github.com/jingweno/upterm/cmd/uptermd [no test files]
? github.com/jingweno/upterm/cmd/uptermd/internal/command [no test files]
time="2020-04-30T22:05:15Z" level=info msg="waiting for server" addr="127.0.0.1:34496"
time="2020-04-30T22:05:15Z" level=debug msg="connection establishing failed" addr="127.0.0.1:58508" componet=ssh-proxy error=EOF
time="2020-04-30T22:05:16Z" level=info msg="waiting for server" addr="127.0.0.1:45139"
=== RUN Test_ftest
=== RUN Test_ftest/ssh/testClientNonExistingSession
=== PAUSE Test_ftest/ssh/testClientNonExistingSession
=== RUN Test_ftest/ws/testClientNonExistingSession
=== PAUSE Test_ftest/ws/testClientNonExistingSession
=== RUN Test_ftest/ssh/testClientAttachHostWithSameCommand
=== PAUSE Test_ftest/ssh/testClientAttachHostWithSameCommand
=== RUN Test_ftest/ws/testClientAttachHostWithSameCommand
=== PAUSE Test_ftest/ws/testClientAttachHostWithSameCommand
=== RUN Test_ftest/ssh/testClientAttachHostWithDifferentCommand
=== PAUSE Test_ftest/ssh/testClientAttachHostWithDifferentCommand
=== RUN Test_ftest/ws/testClientAttachHostWithDifferentCommand
=== PAUSE Test_ftest/ws/testClientAttachHostWithDifferentCommand
=== RUN Test_ftest/ssh/testClientAttachReadOnly
=== PAUSE Test_ftest/ssh/testClientAttachReadOnly
=== RUN Test_ftest/ws/testClientAttachReadOnly
=== PAUSE Test_ftest/ws/testClientAttachReadOnly
=== RUN Test_ftest/ssh/testHostFailToShareWithoutPrivateKey
=== PAUSE Test_ftest/ssh/testHostFailToShareWithoutPrivateKey
=== RUN Test_ftest/ws/testHostFailToShareWithoutPrivateKey
=== PAUSE Test_ftest/ws/testHostFailToShareWithoutPrivateKey
=== RUN Test_ftest/ssh/testHostSessionCreatedCallback
=== PAUSE Test_ftest/ssh/testHostSessionCreatedCallback
=== RUN Test_ftest/ws/testHostSessionCreatedCallback
=== PAUSE Test_ftest/ws/testHostSessionCreatedCallback
=== CONT Test_ftest/ws/testClientNonExistingSession
=== CONT Test_ftest/ssh/testClientAttachReadOnly
=== CONT Test_ftest/ssh/testClientAttachHostWithSameCommand
=== CONT Test_ftest/ssh/testHostSessionCreatedCallback
=== CONT Test_ftest/ws/testClientAttachHostWithSameCommand
=== CONT Test_ftest/ssh/testHostFailToShareWithoutPrivateKey
=== CONT Test_ftest/ssh/testClientNonExistingSession
=== CONT Test_ftest/ws/testHostFailToShareWithoutPrivateKey
time="2020-04-30T22:05:16Z" level=info msg="dialing sshproxy sshd" compoent=ws-sshproxy-dialer host=u51696 sshproxy-addr="127.0.0.1:34496"
time="2020-04-30T22:05:16Z" level=info msg="dialing sshproxy sshd" compoent=ws-sshproxy-dialer host=u51696 sshproxy-addr="127.0.0.1:34496"
time="2020-04-30T22:05:16Z" level=info msg="dialing sshproxy sshd" compoent=ws-sshproxy-dialer host=u51696 sshproxy-addr="127.0.0.1:34496"
time="2020-04-30T22:05:17Z" level=info msg="dialing sshd" compoent=ssh-conn-dialer host=u51696 ndoe="127.0.0.1:34496"
time="2020-04-30T22:05:17Z" level=info msg="dialing sshd" compoent=ssh-conn-dialer host=u51696 ndoe="127.0.0.1:34496"
time="2020-04-30T22:05:17Z" level=info msg="dialing sshd" compoent=ssh-conn-dialer host=u51696 ndoe="127.0.0.1:34496"
time="2020-04-30T22:05:17Z" level=info msg="dialing sshd" compoent=ssh-conn-dialer host=u51696 ndoe="127.0.0.1:34496"
time="2020-04-30T22:05:17Z" level=info msg="dialing sshd" compoent=ssh-conn-dialer host=u51696 ndoe="127.0.0.1:34496"
time="2020-04-30T22:05:17Z" level=info msg="dialing sshd" compoent=ssh-conn-dialer host=u51696 ndoe="127.0.0.1:34496"
time="2020-04-30T22:05:17Z" level=info msg="dialing sshd" compoent=ssh-conn-dialer host=u51696 ndoe="127.0.0.1:34496"
time="2020-04-30T22:05:17Z" level=debug msg="connection establishing failed" addr="127.0.0.1:58572" componet=ssh-proxy error=EOF
time="2020-04-30T22:05:17Z" level=info msg="attempt to bind" componet=sshd tunnel-host=bqlkn74h7k8ut6sl6oi0 tunnel-port=0
time="2020-04-30T22:05:17Z" level=error msg="error running host" error="ssh://127.0.0.1:34496: Permission denied (publickey)."
=== CONT Test_ftest/ws/testClientAttachReadOnly
time="2020-04-30T22:05:17Z" level=info msg="attempt to bind" componet=sshd tunnel-host=bqlkn74h7k8ut6sl6oj0 tunnel-port=0
time="2020-04-30T22:05:17Z" level=info msg="dialing sshd" compoent=ssh-conn-dialer host=u51696 ndoe="127.0.0.1:34496"
time="2020-04-30T22:05:17Z" level=info msg="attempt to bind" componet=sshd tunnel-host=bqlkn74h7k8ut6sl6ohg tunnel-port=0
time="2020-04-30T22:05:17Z" level=info msg="dialing sshproxy sshd" compoent=ws-sshproxy-dialer host=u51696 sshproxy-addr="127.0.0.1:34496"
time="2020-04-30T22:05:17Z" level=error msg="error running host" error="ws://127.0.0.1:45139: Permission denied (publickey)."
=== CONT Test_ftest/ws/testHostSessionCreatedCallback
time="2020-04-30T22:05:17Z" level=info msg="attempt to bind" componet=sshd tunnel-host=bqlkn74h7k8ut6sl6oig tunnel-port=0
time="2020-04-30T22:05:17Z" level=info msg="dialing sshproxy sshd" compoent=ws-sshproxy-dialer host=u51696 sshproxy-addr="127.0.0.1:34496"
time="2020-04-30T22:05:17Z" level=debug msg="connection establishing failed" addr="127.0.0.1:58582" componet=ssh-proxy error=EOF
time="2020-04-30T22:05:17Z" level=info msg="attempt to bind" componet=sshd tunnel-host=bqlkn74h7k8ut6sl6ok0 tunnel-port=0
time="2020-04-30T22:05:17Z" level=info msg="dialing sshd" compoent=ssh-conn-dialer host=u51696 ndoe="127.0.0.1:34496"
time="2020-04-30T22:05:17Z" level=info msg="attempt to bind" componet=sshd tunnel-host=bqlkn74h7k8ut6sl6ol0 tunnel-port=0
time="2020-04-30T22:05:17Z" level=info msg="dialing sshd" compoent=ssh-conn-dialer host=u51696 ndoe="127.0.0.1:34496"
time="2020-04-30T22:05:17Z" level=info msg="attempt to bind" componet=sshd tunnel-host=bqlkn7ch7k8ut6sl6olg tunnel-port=0
time="2020-04-30T22:05:17Z" level=info msg="attempt to bind" componet=sshd tunnel-host=bqlkn7ch7k8ut6sl6om0 tunnel-port=0
time="2020-04-30T22:05:17Z" level=info msg="waiting for unix socket" socket=/tmp/upterm502739695/upterm.sock
time="2020-04-30T22:05:17Z" level=info msg="waiting for unix socket" socket=/tmp/upterm677746421/upterm.sock
time="2020-04-30T22:05:17Z" level=info msg="waiting for unix socket" socket=/tmp/upterm549451216/upterm.sock
time="2020-04-30T22:05:17Z" level=info msg="waiting for unix socket" socket=/tmp/upterm007125753/upterm.sock
time="2020-04-30T22:05:17Z" level=info msg="waiting for unix socket" socket=/tmp/upterm175240578/upterm.sock
time="2020-04-30T22:05:17Z" level=info msg="waiting for unix socket" socket=/tmp/upterm888190355/upterm.sock
=== CONT Test_ftest/ssh/testClientAttachHostWithDifferentCommand
time="2020-04-30T22:05:17Z" level=info msg="dialing sshproxy session" addr="127.0.0.1:34496" compoent=ws-sshproxy-dialer session=not-existance sshproxy-addr="127.0.0.1:34496"
time="2020-04-30T22:05:17Z" level=info msg="dialing sshd" compoent=ssh-conn-dialer host=u51696 ndoe="127.0.0.1:34496"
time="2020-04-30T22:05:18Z" level=info msg="dialing sshproxy session" addr="127.0.0.1:34496" compoent=ws-sshproxy-dialer session=bqlkn74h7k8ut6sl6ok0 sshproxy-addr="127.0.0.1:34496"
time="2020-04-30T22:05:18Z" level=debug msg="error handling ssh session" component=stream-local-handler componet=sshd error=closed session-id=bqlkn74h7k8ut6sl6ohg
time="2020-04-30T22:05:18Z" level=info msg="dialing session" addr="127.0.0.1:34496" compoent=ssh-conn-dialer node="127.0.0.1:34496" session=bqlkn74h7k8ut6sl6oig
time="2020-04-30T22:05:18Z" level=info msg="dialing session" addr="127.0.0.1:34496" compoent=ssh-conn-dialer node="127.0.0.1:34496" session=not-existance
time="2020-04-30T22:05:18Z" level=debug msg="connection establishing failed" addr="127.0.0.1:58642" componet=ssh-proxy error="dial mem mem->mem: listener with address not-existance not found"
time="2020-04-30T22:05:18Z" level=info msg="dialing session" addr="127.0.0.1:34496" compoent=ssh-conn-dialer node="127.0.0.1:34496" session=bqlkn74h7k8ut6sl6oj0
=== CONT Test_ftest/ws/testClientAttachHostWithDifferentCommand
time="2020-04-30T22:05:18Z" level=info msg="dialing session" addr="127.0.0.1:34496" compoent=ssh-conn-dialer node="127.0.0.1:34496" session=not-existance
time="2020-04-30T22:05:18Z" level=info msg="dialing sshproxy sshd" compoent=ws-sshproxy-dialer host=u51696 sshproxy-addr="127.0.0.1:34496"
time="2020-04-30T22:05:18Z" level=debug msg="connection establishing failed" addr="127.0.0.1:58648" componet=ssh-proxy error="dial mem mem->mem: listener with address not-existance not found"
time="2020-04-30T22:05:18Z" level=info msg="dialing session" addr="127.0.0.1:34496" compoent=ssh-conn-dialer node="127.0.0.1:34496" session=bqlkn74h7k8ut6sl6ok0
time="2020-04-30T22:05:18Z" level=debug msg="error handling ssh session" component=stream-local-handler componet=sshd error=closed session-id=bqlkn74h7k8ut6sl6oi0
time="2020-04-30T22:05:18Z" level=info msg="dialing sshd" compoent=ssh-conn-dialer host=u51696 ndoe="127.0.0.1:34496"
time="2020-04-30T22:05:18Z" level=info msg="attempt to bind" componet=sshd tunnel-host=bqlkn7ch7k8ut6sl6omg tunnel-port=0
time="2020-04-30T22:05:18Z" level=debug msg="error handling ssh session" component=stream-local-handler componet=sshd error=closed session-id=bqlkn74h7k8ut6sl6ol0
time="2020-04-30T22:05:18Z" level=info msg="waiting for unix socket" socket=/tmp/upterm636938557/upterm.sock
Test_ftest/ssh/testClientAttachHostWithSameCommand: client_test.go:140: want="echo hello" got="hello":
string(
- "echo hello",
+ "hello",
)
time="2020-04-30T22:05:18Z" level=info msg="attempt to bind" componet=sshd tunnel-host=bqlkn7kh7k8ut6sl6on0 tunnel-port=0
time="2020-04-30T22:05:18Z" level=info msg="waiting for unix socket" socket=/tmp/upterm373378936/upterm.sock
time="2020-04-30T22:05:18Z" level=debug msg="error handling ssh session" component=stream-local-handler componet=sshd error=closed session-id=bqlkn74h7k8ut6sl6oig
time="2020-04-30T22:05:18Z" level=info msg="dialing sshproxy session" addr="127.0.0.1:34496" compoent=ws-sshproxy-dialer session=bqlkn7ch7k8ut6sl6olg sshproxy-addr="127.0.0.1:34496"
time="2020-04-30T22:05:18Z" level=debug msg="error handling ssh session" component=stream-local-handler componet=sshd error=closed session-id=bqlkn7ch7k8ut6sl6om0
time="2020-04-30T22:05:18Z" level=info msg="dialing session" addr="127.0.0.1:34496" compoent=ssh-conn-dialer node="127.0.0.1:34496" session=bqlkn7ch7k8ut6sl6olg
time="2020-04-30T22:05:18Z" level=debug msg="error handling ssh session" component=stream-local-handler componet=sshd error=closed session-id=bqlkn74h7k8ut6sl6ok0
time="2020-04-30T22:05:18Z" level=info msg="waiting for unix socket" socket=/tmp/upterm474249847/upterm.sock
time="2020-04-30T22:05:19Z" level=info msg="dialing session" addr="127.0.0.1:34496" compoent=ssh-conn-dialer node="127.0.0.1:34496" session=bqlkn7ch7k8ut6sl6omg
time="2020-04-30T22:05:19Z" level=info msg="waiting for unix socket" socket=/tmp/upterm305380202/upterm.sock
time="2020-04-30T22:05:19Z" level=info msg="dialing sshproxy session" addr="127.0.0.1:34496" compoent=ws-sshproxy-dialer session=bqlkn7kh7k8ut6sl6on0 sshproxy-addr="127.0.0.1:34496"
time="2020-04-30T22:05:19Z" level=info msg="dialing session" addr="127.0.0.1:34496" compoent=ssh-conn-dialer node="127.0.0.1:34496" session=bqlkn7kh7k8ut6sl6on0
2020/04/30 22:05:19 Timeout hit..
time="2020-04-30T22:05:19Z" level=debug msg="error handling ssh session" component=stream-local-handler componet=sshd error=closed session-id=bqlkn74h7k8ut6sl6oj0
2020/04/30 22:05:19 Timeout hit..
time="2020-04-30T22:05:19Z" level=debug msg="error handling ssh session" component=stream-local-handler componet=sshd error=closed session-id=bqlkn7ch7k8ut6sl6olg
time="2020-04-30T22:05:20Z" level=debug msg="error handling ssh session" component=stream-local-handler componet=sshd error=closed session-id=bqlkn7ch7k8ut6sl6omg
--- FAIL: Test_ftest (0.01s)
--- PASS: Test_ftest/ssh/testHostFailToShareWithoutPrivateKey (0.16s)
--- PASS: Test_ftest/ws/testHostFailToShareWithoutPrivateKey (0.25s)
--- PASS: Test_ftest/ssh/testHostSessionCreatedCallback (1.03s)
--- PASS: Test_ftest/ws/testClientNonExistingSession (1.10s)
--- PASS: Test_ftest/ssh/testClientNonExistingSession (1.12s)
--- FAIL: Test_ftest/ssh/testClientAttachHostWithSameCommand (1.25s)
--- PASS: Test_ftest/ws/testHostSessionCreatedCallback (1.00s)
--- PASS: Test_ftest/ws/testClientAttachHostWithSameCommand (1.32s)
--- PASS: Test_ftest/ssh/testClientAttachReadOnly (2.26s)
--- PASS: Test_ftest/ws/testClientAttachReadOnly (2.19s)
--- PASS: Test_ftest/ssh/testClientAttachHostWithDifferentCommand (2.07s)
--- PASS: Test_ftest/ws/testClientAttachHostWithDifferentCommand (2.11s)
FAIL
coverage: [no statements]
FAIL github.com/jingweno/upterm/ftests 5.762s
=== RUN Test_signerFromFile
=== RUN Test_signerFromFile/rsa_private_key_wrong_passphrase
=== RUN Test_signerFromFile/rsa_private_key_correct_passphrase
=== RUN Test_signerFromFile/ed25519_private_key_wrong_passphrase
=== RUN Test_signerFromFile/ed25519_private_key_correct_passphrase
--- PASS: Test_signerFromFile (31.77s)
--- PASS: Test_signerFromFile/rsa_private_key_wrong_passphrase (16.35s)
--- PASS: Test_signerFromFile/rsa_private_key_correct_passphrase (3.13s)
--- PASS: Test_signerFromFile/ed25519_private_key_wrong_passphrase (9.34s)
--- PASS: Test_signerFromFile/ed25519_private_key_correct_passphrase (2.94s)
PASS
coverage: 11.5% of statements
ok github.com/jingweno/upterm/host 37.164s coverage: 11.5% of statements
=== RUN Test_EncodeDecodeIdentifier
=== RUN Test_EncodeDecodeIdentifier/client_type
=== PAUSE Test_EncodeDecodeIdentifier/client_type
=== RUN Test_EncodeDecodeIdentifier/host_type
=== PAUSE Test_EncodeDecodeIdentifier/host_type
=== CONT Test_EncodeDecodeIdentifier/host_type
=== CONT Test_EncodeDecodeIdentifier/client_type
--- PASS: Test_EncodeDecodeIdentifier (0.00s)
--- PASS: Test_EncodeDecodeIdentifier/client_type (0.00s)
--- PASS: Test_EncodeDecodeIdentifier/host_type (0.00s)
PASS
coverage: 12.9% of statements
ok github.com/jingweno/upterm/host/api 0.099s coverage: 12.9% of statements
? github.com/jingweno/upterm/host/api/swagger/client [no test files]
? github.com/jingweno/upterm/host/api/swagger/client/admin_service [no test files]
? github.com/jingweno/upterm/host/api/swagger/models [no test files]
? github.com/jingweno/upterm/host/internal [no test files]
=== RUN Test_ContextReader
=== PAUSE Test_ContextReader
=== RUN Test_MultiWriter
=== PAUSE Test_MultiWriter
=== CONT Test_ContextReader
=== RUN Test_ContextReader/happy_path
=== CONT Test_MultiWriter
--- PASS: Test_MultiWriter (0.00s)
=== PAUSE Test_ContextReader/happy_path
=== RUN Test_ContextReader/pass_in_canceled_context
=== PAUSE Test_ContextReader/pass_in_canceled_context
=== RUN Test_ContextReader/cancel_context_during_copy
=== PAUSE Test_ContextReader/cancel_context_during_copy
=== RUN Test_ContextReader/cancel_context_after_copy
=== PAUSE Test_ContextReader/cancel_context_after_copy
=== CONT Test_ContextReader/happy_path
=== CONT Test_ContextReader/cancel_context_after_copy
=== CONT Test_ContextReader/pass_in_canceled_context
=== CONT Test_ContextReader/cancel_context_during_copy
--- PASS: Test_ContextReader (0.01s)
--- PASS: Test_ContextReader/pass_in_canceled_context (0.01s)
--- PASS: Test_ContextReader/happy_path (0.02s)
--- PASS: Test_ContextReader/cancel_context_during_copy (1.02s)
--- PASS: Test_ContextReader/cancel_context_after_copy (3.48s)
Test_ContextReader: reader_test.go:54: should never get here
FAIL
==================
WARNING: DATA RACE
Read at 0x00c0001a2163 by goroutine 20:
testing.(*common).Fail()
/home/dyno/.heroku/lib/go/src/testing/testing.go:612 +0xc5
testing.(*common).Fail()
/home/dyno/.heroku/lib/go/src/testing/testing.go:607 +0x14c
testing.(*common).FailNow()
/home/dyno/.heroku/lib/go/src/testing/testing.go:635 +0x38
testing.(*common).Fatal()
/home/dyno/.heroku/lib/go/src/testing/testing.go:718 +0x89
github.com/jingweno/upterm/io.Test_ContextReader.func3.1()
/home/dyno/project/upterm/io/reader_test.go:54 +0xa0
github.com/jingweno/upterm/io.readFunc.Read()
/home/dyno/project/upterm/io/reader_test.go:99 +0x55
github.com/jingweno/upterm/io.contextReader.Read.func1()
/home/dyno/project/upterm/io/reader.go:38 +0x14f
Previous write at 0x00c0001a2163 by goroutine 7:
testing.tRunner.func1()
/home/dyno/.heroku/lib/go/src/testing/testing.go:977 +0x467
testing.tRunner()
/home/dyno/.heroku/lib/go/src/testing/testing.go:995 +0x20d
Goroutine 20 (running) created at:
github.com/jingweno/upterm/io.contextReader.Read()
/home/dyno/project/upterm/io/reader.go:28 +0xed
github.com/jingweno/upterm/io.(*contextReader).Read()
<autogenerated>:1 +0xb6
bytes.(*Buffer).ReadFrom()
/home/dyno/.heroku/lib/go/src/bytes/buffer.go:204 +0x158
io.copyBuffer()
/home/dyno/.heroku/lib/go/src/io/io.go:391 +0x3fa
io.Copy()
/home/dyno/.heroku/lib/go/src/io/io.go:364 +0x271
github.com/jingweno/upterm/io.Test_ContextReader.func3()
/home/dyno/project/upterm/io/reader_test.go:64 +0x239
testing.tRunner()
/home/dyno/.heroku/lib/go/src/testing/testing.go:991 +0x1eb
Goroutine 7 (finished) created at:
testing.(*T).Run()
/home/dyno/.heroku/lib/go/src/testing/testing.go:1042 +0x660
testing.runTests.func1()
/home/dyno/.heroku/lib/go/src/testing/testing.go:1284 +0xa6
testing.tRunner()
/home/dyno/.heroku/lib/go/src/testing/testing.go:991 +0x1eb
testing.runTests()
/home/dyno/.heroku/lib/go/src/testing/testing.go:1282 +0x527
testing.(*M).Run()
/home/dyno/.heroku/lib/go/src/testing/testing.go:1199 +0x2ff
main.main()
_testmain.go:96 +0x337
==================
panic: Fail in goroutine after Test_ContextReader has completed
goroutine 35 [running]:
testing.(*common).Fail(0xc0001a2120)
/home/dyno/.heroku/lib/go/src/testing/testing.go:613 +0x1f3
testing.(*common).Fail(0xc0001a25a0)
/home/dyno/.heroku/lib/go/src/testing/testing.go:607 +0x14d
testing.(*common).FailNow(0xc0001a25a0)
/home/dyno/.heroku/lib/go/src/testing/testing.go:635 +0x39
testing.(*common).Fatal(0xc0001a25a0, 0xc0000c0e18, 0x1, 0x1)
/home/dyno/.heroku/lib/go/src/testing/testing.go:718 +0x8a
github.com/jingweno/upterm/io.Test_ContextReader.func3.1(0xc0000b6000, 0x200, 0x200, 0xc0000b0e80, 0x43339a, 0xc0000b8000)
/home/dyno/project/upterm/io/reader_test.go:54 +0xa1
github.com/jingweno/upterm/io.readFunc.Read(0xc0000a0010, 0xc0000b6000, 0x200, 0x200, 0x0, 0x0, 0x0)
/home/dyno/project/upterm/io/reader_test.go:99 +0x56
github.com/jingweno/upterm/io.contextReader.Read.func1(0xc000096060, 0x6d3d20, 0xc0000a0010, 0x6d60a0, 0xc0000aa000, 0xc0000b6000, 0x200, 0x200)
/home/dyno/project/upterm/io/reader.go:38 +0x150
created by github.com/jingweno/upterm/io.contextReader.Read
/home/dyno/project/upterm/io/reader.go:28 +0xee
FAIL github.com/jingweno/upterm/io 9.188s
=== RUN Test_MemListener_Listen
=== PAUSE Test_MemListener_Listen
=== RUN Test_MemListener_Dial
=== PAUSE Test_MemListener_Dial
=== RUN Test_MemListener_RemoveListener
=== PAUSE Test_MemListener_RemoveListener
=== CONT Test_MemListener_Listen
=== CONT Test_MemListener_Dial
=== CONT Test_MemListener_RemoveListener
--- PASS: Test_MemListener_Listen (0.00s)
--- PASS: Test_MemListener_Dial (0.00s)
--- PASS: Test_MemListener_RemoveListener (0.00s)
PASS
coverage: 73.1% of statements
ok github.com/jingweno/upterm/memlistener 0.140s coverage: 73.1% of statements
? github.com/jingweno/upterm/metrics [no test files]
=== RUN Test_SSHD_DisallowSession
time="2020-04-30T22:05:15Z" level=info msg="waiting for server" addr="127.0.0.1:41115"
--- PASS: Test_SSHD_DisallowSession (1.06s)
=== RUN Test_SSHProxy_findUpstream
time="2020-04-30T22:05:16Z" level=info msg="waiting for server" addr="127.0.0.1:38452"
time="2020-04-30T22:05:16Z" level=debug msg="connection establishing failed" addr="127.0.0.1:37532" error="read tcp 127.0.0.1:38452->127.0.0.1:37532: read: connection reset by peer"
time="2020-04-30T22:05:17Z" level=info msg="waiting for server" addr="127.0.0.1:43881"
time="2020-04-30T22:05:17Z" level=info msg="dialing neighbour" addr="127.0.0.1:43881" node="127.0.0.1:38452" session=bqlkn7ch7k8ut7coik60
time="2020-04-30T22:05:17Z" level=error msg="failed to accept connection" error="accept tcp 127.0.0.1:38452: use of closed network connection"
--- PASS: Test_SSHProxy_findUpstream (2.04s)
=== RUN Test_WebSocketProxy_Host
time="2020-04-30T22:05:17Z" level=info msg="dialing sshd" host=owen ndoe=
--- PASS: Test_WebSocketProxy_Host (0.01s)
PASS
coverage: 25.6% of statements
ok github.com/jingweno/upterm/server 3.263s coverage: 25.6% of statements
? github.com/jingweno/upterm/upterm [no test files]
? github.com/jingweno/upterm/utils [no test files]
? github.com/jingweno/upterm/ws [no test files]
FAIL
make: *** [Makefile:55: test] Error 1