102 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			102 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Python
		
	
	
	
| 
 | |
| 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")
 | |
| 
 |