def test_probe_block_size_not_writable(tmpdir): no_write = str(tmpdir.mkdir("no-write-for-you")) # Remove write bit, so the probe file cannot be created. with chmod(no_write, 0o500): proc = IOProcess(timeout=10, max_threads=5) proc._sublog = FakeLogger() with closing(proc): with pytest.raises(OSError) as e: proc.probe_block_size(no_write) assert e.value.errno == errno.EACCES warning = re.compile(r"Failed to create a probe file: .+?, " r"error: 'Permission denied'") assert any(warning.search(msg) for msg in proc._sublog.messages)
def test_partial_logs(self): threads = [] proc = IOProcess(timeout=10, max_threads=10) proc._sublog = FakeLogger() def worker(): for i in range(100): proc.stat(__file__) try: for i in range(4): t = Thread(target=worker) t.deamon = True t.start() threads.append(t) finally: for t in threads: t.join() proc.close() for msg in proc._sublog.messages: self.assertFalse('DEBUG|' in msg, "Raw log data in log message: %r" % msg)
def test_partial_logs(self): threads = [] proc = IOProcess(timeout=1, max_threads=10) proc._sublog = FakeLogger() def worker(): for i in range(100): proc.stat(__file__) try: for i in range(4): t = Thread(target=worker) t.deamon = True t.start() threads.append(t) finally: for t in threads: t.join() proc.close() for msg in proc._sublog.messages: self.assertFalse('DEBUG|' in msg, "Raw log data in log message: %r" % msg)