37
from . import features, TestCaseInTempDir, TestCase, TestSkipped
37
from . import features, TestCaseInTempDir, TestCase
38
38
from ..trace import (
39
39
mutter, mutter_callsite, report_exception,
40
40
set_verbosity_level, get_verbosity_level, is_quiet, is_verbose, be_quiet,
327
327
self.overrideEnv('BRZ_LOG', '/no-such-dir/brz.log')
328
328
self.overrideAttr(trace, '_brz_log_filename')
329
329
logf = trace._open_brz_log()
330
if os.path.isdir('/no-such-dir'):
331
raise TestSkipped('directory creation succeeded')
332
330
self.assertIs(None, logf)
333
331
self.assertContainsRe(
334
332
sys.stderr.getvalue(),
335
333
"failed to open trace file: .* '/no-such-dir/brz.log'$")
337
def test__open_brz_log_ignores_cache_dir_error(self):
338
# If the cache directory can not be created and _open_brz_log can thus
339
# not open the file, then we should write the warning to stderr. Since
340
# this is normally happening before logging is set up.
341
self.overrideAttr(sys, 'stderr', StringIO())
342
# Set the cache directory to something that cannot exist
343
self.overrideEnv('BRZ_LOG', None)
344
self.overrideEnv('BRZ_HOME', '/no-such-dir')
345
self.overrideEnv('XDG_CACHE_HOME', '/no-such-dir')
346
self.overrideAttr(trace, '_brz_log_filename')
347
logf = trace._open_brz_log()
348
if os.path.isdir('/no-such-dir'):
349
raise TestSkipped('directory creation succeeded')
350
self.assertIs(None, logf)
351
self.assertContainsRe(
352
sys.stderr.getvalue(),
353
"failed to open trace file: .* '/no-such-dir'$")
356
336
class TestVerbosityLevel(TestCase):