diff options
Diffstat (limited to 'internal/regex')
| -rw-r--r-- | internal/regex/regex.go | 11 | ||||
| -rw-r--r-- | internal/regex/regex_test.go | 16 |
2 files changed, 15 insertions, 12 deletions
diff --git a/internal/regex/regex.go b/internal/regex/regex.go index 2561659..352ffd6 100644 --- a/internal/regex/regex.go +++ b/internal/regex/regex.go @@ -4,8 +4,6 @@ import ( "fmt" "regexp" "strings" - - "github.com/mimecast/dtail/internal/io/logger" ) // Regex for filtering lines. @@ -91,17 +89,17 @@ func (r Regex) MatchString(str string) bool { } // Serialize the regex. -func (r Regex) Serialize() string { +func (r Regex) Serialize() (string, error) { var flags []string for _, flag := range r.flags { flags = append(flags, flag.String()) } if !r.initialized { - logger.FatalExit("Unable to serialize regex as not initialized properly", r) + return "", fmt.Errorf("Unable to serialize regex as not initialized properly: %v", r) } - return fmt.Sprintf("regex:%s %s", strings.Join(flags, ","), r.regexStr) + return fmt.Sprintf("regex:%s %s", strings.Join(flags, ","), r.regexStr), nil } // Deserialize the regex. @@ -109,7 +107,6 @@ func Deserialize(str string) (Regex, error) { // Get regex string s := strings.SplitN(str, " ", 2) if len(s) < 2 { - logger.Debug("Using noop regex", str) return NewNoop(), nil } @@ -127,10 +124,8 @@ func Deserialize(str string) (Regex, error) { for _, flagStr := range strings.Split(s[1], ",") { flag, err := NewFlag(flagStr) if err != nil { - logger.Error("ignoring flag", err) continue } - logger.Debug("Adding regex flag", flag) flags = append(flags, flag) } } diff --git a/internal/regex/regex_test.go b/internal/regex/regex_test.go index a5e7faf..2ce49ac 100644 --- a/internal/regex/regex_test.go +++ b/internal/regex/regex_test.go @@ -20,9 +20,13 @@ func TestRegex(t *testing.T) { t.Errorf("expected to match string '%s' with regex '%v' but didn't\n", input, r) } - r2, err := Deserialize(r.Serialize()) + serialized, err := r.Serialize() if err != nil { - t.Errorf("unable to serialize deserialized regex: %v: %v\n", r.Serialize(), err) + t.Errorf("unable to serialize regex: %v: %v\n", serialized, err) + } + r2, err := Deserialize(serialized) + if err != nil { + t.Errorf("unable to serialize deserialized regex: %v: %v\n", serialized, err) } if r.String() != r2.String() { t.Errorf("regex should be the same after deserialize(serialize(..)), got '%s' but expected '%s'.\n", @@ -37,9 +41,13 @@ func TestRegex(t *testing.T) { t.Errorf("expected to not match string '%s' with regex '%v' but matched\n", input, r) } - r2, err = Deserialize(r.Serialize()) + serialized, err = r.Serialize() + if err != nil { + t.Errorf("unable to serialize regex: %v: %v\n", serialized, err) + } + r2, err = Deserialize(serialized) if err != nil { - t.Errorf("unable to serialize deserialized regex: %v: %v\n", r.Serialize(), err) + t.Errorf("unable to serialize deserialized regex: %v: %v\n", serialized, err) } if r.String() != r2.String() { t.Errorf("regex should be the same after deserialize(serialize(..)), got '%s' but expected '%s'.\n", |
