~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_debug.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2010-10-01 22:33:10 UTC
  • mfrom: (5452.3.1 doc-fix)
  • Revision ID: pqm@pqm.ubuntu.com-20101001223310-t8adqw9m9ogrvnlc
(jameinel) fixed link to main smart server doc from http smart server doc
 (dmuir)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2009 Canonical Ltd
 
1
# Copyright (C) 2009, 2010 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
17
17
"""Tests for bzrlib.debug"""
18
18
 
19
19
 
20
 
import os
21
 
 
22
 
 
23
 
from bzrlib import debug
24
 
from bzrlib.config import config_filename, ensure_config_dir_exists
25
 
from bzrlib.transport import get_transport
26
 
from bzrlib.tests import TestCaseInTempDir
27
 
 
28
 
 
29
 
class TestDebugFlags(TestCaseInTempDir):
 
20
from bzrlib import (
 
21
    config,
 
22
    debug,
 
23
    tests,
 
24
    )
 
25
 
 
26
 
 
27
class TestDebugFlags(tests.TestCaseInTempDir):
30
28
 
31
29
    def test_set_debug_flags_from_config(self):
32
30
        # test both combinations because configobject automatically splits up
33
31
        # comma-separated lists
34
 
        if os.path.isfile(config_filename()):
35
 
            # Something is wrong in environment,
36
 
            # we risk overwriting users config
37
 
            self.assert_(config_filename() + "exists, abort")
38
 
 
39
 
        self.try_debug_flags(
40
 
            """debug_flags = hpss, error\n""",
41
 
            set(['hpss', 'error']))
42
 
 
43
 
        self.try_debug_flags(
44
 
            """debug_flags = hpss\n""",
45
 
            set(['hpss']))
46
 
 
47
 
    def try_debug_flags(self, conf_bytes, expected_flags):
48
 
        ensure_config_dir_exists()
49
 
        f = open(config_filename(), 'wb')
50
 
        try:
51
 
            f.write(conf_bytes)
52
 
        finally:
53
 
            f.close()
54
 
        saved_debug = set(debug.debug_flags)
55
 
        debug.debug_flags.clear()
56
 
        try:
57
 
            debug.set_debug_flags_from_config()
58
 
            self.assertEqual(expected_flags,
59
 
                debug.debug_flags)
60
 
        finally:
61
 
            # restore without rebinding the variable
62
 
            debug.debug_flags.clear()
63
 
            debug.debug_flags.update(saved_debug)
 
32
        self.try_debug_flags(['hpss', 'error'], 'debug_flags = hpss, error\n')
 
33
        self.try_debug_flags(['hpss'], 'debug_flags = hpss\n')
 
34
 
 
35
    def try_debug_flags(self, expected_flags, conf_bytes):
 
36
        conf = config.GlobalConfig.from_string(conf_bytes, save=True)
 
37
        self.overrideAttr(debug, 'debug_flags', set())
 
38
        debug.set_debug_flags_from_config()
 
39
        self.assertEqual(set(expected_flags), debug.debug_flags)