Skip to content

Commit aea29b1

Browse files
committed
agdcslog: imp docs
1 parent 5b76c10 commit aea29b1

File tree

5 files changed

+40
-35
lines changed

5 files changed

+40
-35
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package agdcslog
2+
3+
import "time"
4+
5+
// testTimeout is the common timeout for tests.
6+
const testTimeout = 1 * time.Second

internal/agdcslog/syslog_darwin.go

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ func newSystemLogger(ctx context.Context, tag string) (l SystemLogger, err error
6262

6363
// newSystemLoggerWithCommandConstructor returns a macOS-specific system logger
6464
// using the provided command constructor.
65+
//
66+
// TODO(s.chzhen): Use this as the actual constructor.
6567
func newSystemLoggerWithCommandConstructor(
6668
ctx context.Context,
6769
cmdCons executil.CommandConstructor,
@@ -77,22 +79,22 @@ func newSystemLoggerWithCommandConstructor(
7779
// first argument and an error as the second.
7880
const msgFmt = "creating %s logger process: %w"
7981

80-
sysl.debug, err = newProcess(ctx, cmdCons, sevDebug)
82+
sysl.debug, err = newOSProcess(ctx, cmdCons, sevDebug)
8183
if err != nil {
8284
errs = append(errs, fmt.Errorf(msgFmt, sevDebug, err))
8385
}
8486

85-
sysl.info, err = newProcess(ctx, cmdCons, sevInfo)
87+
sysl.info, err = newOSProcess(ctx, cmdCons, sevInfo)
8688
if err != nil {
8789
errs = append(errs, fmt.Errorf(msgFmt, sevInfo, err))
8890
}
8991

90-
sysl.warning, err = newProcess(ctx, cmdCons, sevWarning)
92+
sysl.warning, err = newOSProcess(ctx, cmdCons, sevWarning)
9193
if err != nil {
9294
errs = append(errs, fmt.Errorf(msgFmt, sevWarning, err))
9395
}
9496

95-
sysl.error, err = newProcess(ctx, cmdCons, sevError)
97+
sysl.error, err = newOSProcess(ctx, cmdCons, sevError)
9698
if err != nil {
9799
errs = append(errs, fmt.Errorf(msgFmt, sevError, err))
98100
}
@@ -181,8 +183,8 @@ type osProcess struct {
181183
severity severity
182184
}
183185

184-
// newProcess creates a new process with a particular severity.
185-
func newProcess(
186+
// newOSProcess creates a new process with a particular severity.
187+
func newOSProcess(
186188
ctx context.Context,
187189
cmdCons executil.CommandConstructor,
188190
sev severity,

internal/agdcslog/syslog_darwin_internal_test.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import (
88
"io"
99
"sync"
1010
"testing"
11-
"time"
1211

1312
"github.com/AdguardTeam/golibs/osutil/executil"
1413
"github.com/AdguardTeam/golibs/testutil"
@@ -17,9 +16,6 @@ import (
1716
"github.com/stretchr/testify/require"
1817
)
1918

20-
// testTimeout is the common timeout for tests.
21-
const testTimeout = 1 * time.Second
22-
2319
// lockedWriter protects concurrent writes to an underlying writer.
2420
type lockedWriter struct {
2521
mu *sync.Mutex
@@ -38,6 +34,8 @@ func (lw *lockedWriter) Write(b []byte) (n int, err error) {
3834
}
3935

4036
func TestSystemLogger(t *testing.T) {
37+
t.Parallel()
38+
4139
const (
4240
testTag = "tag"
4341

internal/agdcslog/syslog_linux_internal_test.go

Lines changed: 13 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
package agdcslog
44

55
import (
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-
2319
func 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)

internal/agdcslog/syslog_windows_internal_test.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ type fakeEventlogWriter struct {
2020
infoID uint32
2121
warnID uint32
2222
errID uint32
23+
closed bool
2324
}
2425

2526
// type check
@@ -51,9 +52,15 @@ func (f *fakeEventlogWriter) Error(id uint32, msg string) (err error) {
5152
}
5253

5354
// Close implements the [eventlogWriter] interface for *fakeEventlogWriter.
54-
func (f *fakeEventlogWriter) Close() error { return nil }
55+
func (f *fakeEventlogWriter) Close() error {
56+
f.closed = true
57+
58+
return nil
59+
}
60+
61+
func TestSystemLogger(t *testing.T) {
62+
t.Parallel()
5563

56-
func TestSystemLogger_Windows_DelegatesAndEventIDs(t *testing.T) {
5764
const (
5865
debugMsg = "debug_msg"
5966
infoMsg = "info_msg"
@@ -79,4 +86,6 @@ func TestSystemLogger_Windows_DelegatesAndEventIDs(t *testing.T) {
7986
assert.Equal(t, uint32(infoEventID), f.infoID)
8087
assert.Equal(t, uint32(warningEventID), f.warnID)
8188
assert.Equal(t, uint32(errorEventID), f.errID)
89+
90+
assert.True(t, f.closed)
8291
}

0 commit comments

Comments
 (0)