X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/f2788dd5fc3ef725969d6c0fcc4ddee3754829fc..36d748c6ab1265f1b58e2304cff04e84fea958cb:/lib/crunchrun/logging_test.go diff --git a/lib/crunchrun/logging_test.go b/lib/crunchrun/logging_test.go index fdd4f27b7f..ee3320c7c3 100644 --- a/lib/crunchrun/logging_test.go +++ b/lib/crunchrun/logging_test.go @@ -67,7 +67,7 @@ func (s *LoggingTestSuite) TestWriteLogs(c *C) { c.Check(api.Content[0]["log"].(arvadosclient.Dict)["event_type"], Equals, "crunch-run") c.Check(api.Content[0]["log"].(arvadosclient.Dict)["properties"].(map[string]string)["text"], Equals, logtext) - c.Check(string(kc.Content), Equals, logtext) + s.checkWroteBlock(c, kc, "74561df9ae65ee9f35d5661d42454264+83", logtext) } func (s *LoggingTestSuite) TestWriteLogsLarge(c *C) { @@ -191,6 +191,10 @@ func (s *LoggingTestSuite) TestWriteLogsWithRateLimitThrottleBytesPerEvent(c *C) s.testWriteLogsWithRateLimit(c, "crunchLimitLogBytesPerJob", 50, 67108864, "Exceeded log limit 50 bytes (crunch_limit_log_bytes_per_job)") } +func (s *LoggingTestSuite) TestWriteLogsWithZeroBytesPerJob(c *C) { + s.testWriteLogsWithRateLimit(c, "crunchLimitLogBytesPerJob", 0, 67108864, "Exceeded log limit 0 bytes (crunch_limit_log_bytes_per_job)") +} + func (s *LoggingTestSuite) testWriteLogsWithRateLimit(c *C, throttleParam string, throttleValue int, throttleDefault int, expected string) { discoveryMap[throttleParam] = float64(throttleValue) defer func() { @@ -220,7 +224,14 @@ func (s *LoggingTestSuite) testWriteLogsWithRateLimit(c *C, throttleParam string c.Check(api.Content[0]["log"].(arvadosclient.Dict)["event_type"], Equals, "crunch-run") stderrLog := api.Content[0]["log"].(arvadosclient.Dict)["properties"].(map[string]string)["text"] c.Check(true, Equals, strings.Contains(stderrLog, expected)) - c.Check(string(kc.Content), Equals, logtext) + s.checkWroteBlock(c, kc, "74561df9ae65ee9f35d5661d42454264+83", logtext) +} + +func (s *LoggingTestSuite) checkWroteBlock(c *C, kc *KeepTestClient, locator, expect string) { + buf := make([]byte, len([]byte(expect))+1) + n, err := kc.ReadAt(locator, buf, 0) + c.Check(err, IsNil) + c.Check(string(buf[:n]), Equals, expect) } type filterSuite struct{}