33package agdcslog
44
55import (
6- "bytes"
76 "io"
87 "log/syslog"
98 "net"
@@ -17,11 +16,12 @@ import (
1716 "github.com/stretchr/testify/require"
1817)
1918
20- // testTimeout is the common timeout for tests.
21- const testTimeout = 1 * time .Second
22-
2319func TestSystemLogger (t * testing.T ) {
20+ t .Parallel ()
21+
2422 const (
23+ network = "tcp"
24+
2525 testTag = "tag"
2626
2727 debugMsg = "debug_msg"
@@ -32,43 +32,33 @@ func TestSystemLogger(t *testing.T) {
3232
3333 localhostAnyPort := netip .AddrPortFrom (netutil .IPv4Localhost (), 0 )
3434 addr := net .TCPAddrFromAddrPort (localhostAnyPort )
35- ln , err := net .ListenTCP ("tcp" , addr )
35+ ln , err := net .ListenTCP (network , addr )
3636 require .NoError (t , err )
3737 testutil .CleanupAndRequireSuccess (t , ln .Close )
3838
39- w , err := syslog .Dial ("tcp" , ln .Addr ().String (), syslog .LOG_LOCAL0 , testTag )
39+ w , err := syslog .Dial (network , ln .Addr ().String (), syslog .LOG_LOCAL0 , testTag )
4040 require .NoError (t , err )
4141
4242 l := & systemLogger {writer : w }
4343 require .NoError (t , l .Debug (debugMsg ))
4444 require .NoError (t , l .Info (infoMsg ))
4545 require .NoError (t , l .Warning (warnMsg ))
4646 require .NoError (t , l .Error (errMsg ))
47+
48+ // Close the syslog writer to signal EOF to the reader.
4749 require .NoError (t , l .Close ())
4850
4951 conn , err := ln .Accept ()
5052 require .NoError (t , err )
5153 testutil .CleanupAndRequireSuccess (t , conn .Close )
5254
53- stdoutBuf := bytes.Buffer {}
54- data := make ([]byte , 4096 )
55- for {
56- err = conn .SetReadDeadline (time .Now ().Add (testTimeout ))
57- require .NoError (t , err )
58-
59- var n int
60- n , err = conn .Read (data )
61- if err == io .EOF {
62- break
63- }
64-
65- require .NoError (t , err )
55+ err = conn .SetReadDeadline (time .Now ().Add (testTimeout ))
56+ require .NoError (t , err )
6657
67- _ , err = stdoutBuf .Write (data [:n ])
68- require .NoError (t , err )
69- }
58+ data , err := io .ReadAll (conn )
59+ require .NoError (t , err )
7060
71- out := stdoutBuf . String ( )
61+ out := string ( data )
7262 assert .Contains (t , out , debugMsg )
7363 assert .Contains (t , out , infoMsg )
7464 assert .Contains (t , out , warnMsg )
0 commit comments