sources for test_logger.py [rev. 38799]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
import py
def test_logger_identity():
    assert py.log.get() is py.log.get() 
    otherkey = object()
    for key in "name1", object():
        log = py.log.get(key)
        assert py.log.get(key) is log 
        assert py.log.get(otherkey) is not log 
def test_log_preset():
    log = py.log.get(test_log_preset) 
    l2 = []
    log.set_sub(x1=None, x2=l2.append)
    l3 = []
    log2 = py.log.get(test_log_preset, 
                      x2=None,
                      x3=l3.append)
    log2.x2("hello")
    log2.x3("world")
    assert l2[0].strcontent() == "hello"
    assert l3[0].strcontent() == "world"
def test_log_override():
    l2 = []
    log = py.log.get(object(), x1=None, x2=l2.append)
    l = []
    log.set_override(l.append)
    log.x1("hello")
    log.x2("world")
    log.ensure_sub(x3=None)
    log.x3(42)
    assert len(l) == 3
    assert not l2
    r = [x.strcontent() for x in l]
    assert r == ["hello", "world", "42"]
    l[:] = []
    log.del_override()
    log.del_override()
    log.x2("hello")
    assert l2[0].strcontent() == "hello"
def test_log_basic():
    l1 = []
    class SomeKey:
        def __str__(self):
            return "somekey"
    for key in "name1", SomeKey(): 
        log = py.log.get(key)
        log.set_sub(x1=l1.append) 
        log.x1(42)
        assert l1[-1].content == (42,)
        assert l1[-1].strcontent() == "42"
        assert l1[-1].keywords == (key, 'x1')
        assert l1[-1].strprefix() == "[%s:x1] " %(key,)
        #log.set_prefix("hello")
        #assert l1[0].strprefix() == "hello"
        #log("world")
        #assert str(l1[-1]) == "hello world" 
class TestLogger:
    def setup_method(self, method):
        self._x1 = []
        self._x2 = []
        self.log = py.log.get()
        self.log.set_sub(x1=self._x1.append, 
                         x2=self._x2.append) 
    
    #def teardown_method(self, method):
    #    self.log.close() 
    def test_simple(self):
        self.log.x1("hello")
        self.log.x2("world")
        assert self._x1[0].strcontent() == 'hello'
        assert self._x1[0].strprefix() == '[global:x1] '
        assert self._x2[0].strcontent() == 'world'
        assert self._x2[0].strprefix() == '[global:x2] '
        py.test.raises(AttributeError, "self.log.x3")
    def test_reconfig(self):
        self.log.set_sub(x1=None)
        self.log.x1("asdasd")
        assert not self._x1
    def test_reconfig_add(self):
        l = []
        self.log.set_sub(x2=None, x3=l.append) 
        self.log.x2("asdhello")
        assert not self._x2
        self.log.x3(123) 
        assert l[0].content == (123,)
    def test_logger_del(self):
        del self.log.x2 
        py.test.raises(AttributeError, "self.log.x2")