From 87d772a7d708fec12f48cd8adc0dedff6e1025da Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 26 Aug 2024 10:15:20 +0200 Subject: Adding upstream version 1.47.0. Signed-off-by: Daniel Baumann --- .../collectors/go.d.plugin/pkg/logs/regexp_test.go | 131 --------------------- 1 file changed, 131 deletions(-) delete mode 100644 src/go/collectors/go.d.plugin/pkg/logs/regexp_test.go (limited to 'src/go/collectors/go.d.plugin/pkg/logs/regexp_test.go') diff --git a/src/go/collectors/go.d.plugin/pkg/logs/regexp_test.go b/src/go/collectors/go.d.plugin/pkg/logs/regexp_test.go deleted file mode 100644 index fc7bacaa5..000000000 --- a/src/go/collectors/go.d.plugin/pkg/logs/regexp_test.go +++ /dev/null @@ -1,131 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later - -package logs - -import ( - "errors" - "strings" - "testing" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" -) - -func TestNewRegExpParser(t *testing.T) { - tests := []struct { - name string - pattern string - wantErr bool - }{ - {name: "valid pattern", pattern: `(?P\d+) (?P\d+)`}, - {name: "no names subgroups in pattern", pattern: `(?:\d+) (?:\d+)`, wantErr: true}, - {name: "invalid pattern", pattern: `(((?P\d+) (?P\d+)`, wantErr: true}, - {name: "empty pattern", wantErr: true}, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - p, err := NewRegExpParser(RegExpConfig{Pattern: tt.pattern}, nil) - if tt.wantErr { - assert.Error(t, err) - assert.Nil(t, p) - } else { - assert.NoError(t, err) - assert.NotNil(t, p) - } - }) - } -} - -func TestRegExpParser_ReadLine(t *testing.T) { - tests := []struct { - name string - row string - pattern string - wantErr bool - wantParseErr bool - }{ - {name: "match and no error", row: "1 2", pattern: `(?P\d+) (?P\d+)`}, - {name: "match but error on assigning", row: "1 2", pattern: `(?P\d+) (?P\d+)`, wantErr: true, wantParseErr: true}, - {name: "not match", row: "A B", pattern: `(?P\d+) (?P\d+)`, wantErr: true, wantParseErr: true}, - {name: "not match multiline", row: "a b\n3 4", pattern: `(?P\d+) (?P\d+)`, wantErr: true, wantParseErr: true}, - {name: "error on reading EOF", row: "", pattern: `(?P\d+) (?P\d+)`, wantErr: true}, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - var line logLine - r := strings.NewReader(tt.row) - p, err := NewRegExpParser(RegExpConfig{Pattern: tt.pattern}, r) - require.NoError(t, err) - - err = p.ReadLine(&line) - if tt.wantErr { - require.Error(t, err) - if tt.wantParseErr { - assert.True(t, IsParseError(err)) - } else { - assert.False(t, IsParseError(err)) - } - } else { - assert.NoError(t, err) - } - }) - } -} - -func TestRegExpParser_Parse(t *testing.T) { - tests := []struct { - name string - row string - pattern string - wantErr bool - }{ - {name: "match and no error", row: "1 2", pattern: `(?P\d+) (?P\d+)`}, - {name: "match but error on assigning", row: "1 2", pattern: `(?P\d+) (?P\d+)`, wantErr: true}, - {name: "not match", row: "A B", pattern: `(?P\d+) (?P\d+)`, wantErr: true}, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - var line logLine - p, err := NewRegExpParser(RegExpConfig{Pattern: tt.pattern}, nil) - require.NoError(t, err) - - err = p.Parse([]byte(tt.row), &line) - if tt.wantErr { - require.Error(t, err) - assert.True(t, IsParseError(err)) - } else { - assert.NoError(t, err) - } - }) - } -} - -func TestRegExpParser_Info(t *testing.T) { - p, err := NewRegExpParser(RegExpConfig{Pattern: `(?P\d+) (?P\d+)`}, nil) - require.NoError(t, err) - assert.NotZero(t, p.Info()) -} - -type logLine struct { - assigned map[string]string -} - -func newLogLine() *logLine { - return &logLine{ - assigned: make(map[string]string), - } -} - -func (l *logLine) Assign(name, val string) error { - switch name { - case "$ERR", "ERR": - return errors.New("assign error") - } - if l.assigned != nil { - l.assigned[name] = val - } - return nil -} -- cgit v1.2.3