Skip to content

Commit 173dc9b

Browse files
committed
Add test module for excess runtime util
1 parent 1bdfd0d commit 173dc9b

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import logging
2+
import time
3+
4+
from ansible_base.lib.logging.runtime import log_excess_runtime
5+
6+
logger = logging.getLogger('test_app.tests.lib.logging')
7+
8+
9+
def sleep_for(delta):
10+
time.sleep(delta)
11+
12+
13+
def test_no_log_needed(caplog):
14+
df = log_excess_runtime(logger)(sleep_for)
15+
df(0)
16+
assert caplog.text == ''
17+
18+
19+
def test_debug_log(caplog):
20+
df = log_excess_runtime(logger, debug_cutoff=0.0)(sleep_for)
21+
with caplog.at_level(logging.DEBUG):
22+
df(0)
23+
assert "Running 'sleep_for' took " in caplog.text
24+
25+
26+
def test_info_log(caplog):
27+
df = log_excess_runtime(logger, debug_cutoff=0.0, cutoff=0.05)(sleep_for)
28+
with caplog.at_level(logging.INFO):
29+
df(0.1)
30+
assert "Running 'sleep_for' took " in caplog.text
31+
32+
33+
def extra_message(log_data):
34+
log_data['foo'] = 'bar'
35+
36+
37+
def test_extra_msg_and_data(caplog):
38+
df = log_excess_runtime(logger, debug_cutoff=0.0, add_log_data=True, msg='extra_message log foo={foo}')(extra_message)
39+
with caplog.at_level(logging.DEBUG):
40+
df()
41+
assert "extra_message log foo=bar" in caplog.text

0 commit comments

Comments
 (0)