def timed_writes(self, logger, count, timeout): """Write data using the logger and raise an error if the writes do not complete within timeout. """ t0 = time.time() for i in range(count): logger.log_line('timed_writes', 'some data') dt = time.time() - t0 assert_lt(dt, timeout)
def test_write_and_reconnect(self): with scribed_sandbox(self.scribe_port, self.scribe_logdir): logger = self.create_logger() logger.log_line('foo', '1') logger.log_line('foo', '2') wait_on_log_data(get_log_path(self.scribe_logdir, 'foo'), b'1\n2\n') # make sure we haven't logged any errors assert not any(is_error for (is_error, msg) in self.status_reports) # write some more data, make sure we ignore that scribe server is # down, don't block too long self.timed_writes(logger, 10000, 2.0) # make sure we didn't log too many error reports assert_lt(len(self.status_reports), 10) # make sure we did log at least one error assert any(is_error for (is_error, msg) in self.status_reports) with scribed_sandbox(self.scribe_port, self.scribe_logdir): logger.log_line('foo', '3') logger.log_line('foo', '4') wait_on_log_data(get_log_path(self.scribe_logdir, 'foo'), b'1\n2\n3\n4\n')
def _assert_range(self, x, lower, upper): assert_gt(x, lower) assert_lt(x, upper)