15370: Re-enable docker tests.
[arvados.git] / lib / crunchrun / logscanner_test.go
index 26b128193a3a172b946c278b95a29f93f1189a94..f6b4ba3adcec1d055a7ec0135367e71905a6f384 100644 (file)
@@ -17,12 +17,40 @@ func (s *logScannerSuite) TestCallReportFuncOnce(c *check.C) {
        var reported []string
        ls := logScanner{
                Patterns: []string{"foobar", "barbaz"},
-               ReportFunc: func(pattern string) {
-                       reported = append(reported, pattern)
+               ReportFunc: func(pattern, detail string) {
+                       reported = append(reported, pattern, detail)
                },
        }
-       ls.Write([]byte("foo\nbar\nbar"))
-       ls.Write([]byte("baz\nwaz\nqux"))
+       ls.Write([]byte("foo\nbar\n2021-01-01T00:00:00.000Z: bar"))
+       ls.Write([]byte("baz: it's a detail\nwaz\nqux"))
        ls.Write([]byte("\nfoobar\n"))
-       c.Check(reported, check.DeepEquals, []string{"barbaz"})
+       c.Check(reported, check.DeepEquals, []string{"barbaz", "2021-01-01T00:00:00.000Z: barbaz: it's a detail"})
+}
+
+func (s *logScannerSuite) TestOneWritePerLine(c *check.C) {
+       var reported []string
+       ls := logScanner{
+               Patterns: []string{"barbaz"},
+               ReportFunc: func(pattern, detail string) {
+                       reported = append(reported, pattern, detail)
+               },
+       }
+       ls.Write([]byte("foo\n"))
+       ls.Write([]byte("2021-01-01T00:00:00.000Z: barbaz: it's a detail\n"))
+       ls.Write([]byte("waz\n"))
+       c.Check(reported, check.DeepEquals, []string{"barbaz", "2021-01-01T00:00:00.000Z: barbaz: it's a detail"})
+}
+
+func (s *logScannerSuite) TestNoDetail(c *check.C) {
+       var reported []string
+       ls := logScanner{
+               Patterns: []string{"barbaz"},
+               ReportFunc: func(pattern, detail string) {
+                       reported = append(reported, pattern, detail)
+               },
+       }
+       ls.Write([]byte("foo\n"))
+       ls.Write([]byte("barbaz\n"))
+       ls.Write([]byte("waz\n"))
+       c.Check(reported, check.DeepEquals, []string{"barbaz", "barbaz"})
 }