Пример #1
0
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)
Пример #2
0
    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)
Пример #3
0
    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)