-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathtest_emoji.py
123 lines (93 loc) · 3.76 KB
/
test_emoji.py
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
def test_emoji_disabled_by_default_verbose(testdir, emoji_tests):
# create a temporary pytest test module
testdir.makepyfile(emoji_tests)
# run pytest with the following cmd args
result = testdir.runpytest("-v", "-o", "console_output_style=classic")
# fnmatch_lines does an assertion internally
result.stdout.fnmatch_lines(
[
"*::test_passed PASSED",
"*::test_failed FAILED",
"*::test_xfailed XFAIL",
"*::test_xpassed XPASS",
"*::test_skipped SKIPPED *",
"*::test_error ERROR",
]
)
# make sure that that we get a '1' exit code
# as we have at least one failure
assert result.ret == 1
def test_emoji_enabled_verbose(testdir, emoji_tests):
# create a temporary pytest test module
testdir.makepyfile(emoji_tests)
# run pytest with the following cmd args
result = testdir.runpytest(
"-v", "--emoji", "-o", "console_output_style=classic"
)
# fnmatch_lines does an assertion internally
result.stdout.fnmatch_lines(
[
"*::test_passed PASSED 😃 ",
"*::test_failed FAILED 😰 ",
"*::test_xfailed XFAIL 😞 ",
"*::test_xpassed XPASS 😲 ",
"*::test_skipped SKIPPED 🙄 *",
"*::test_error ERROR 😡 ",
]
)
# make sure that that we get a '1' exit code
# as we have at least one failure
assert result.ret == 1
def test_emoji_enabled_custom_verbose(testdir, emoji_tests, custom_emojis):
testdir.makeconftest(custom_emojis)
# create a temporary pytest test module
testdir.makepyfile(emoji_tests)
# run pytest with the following cmd args
result = testdir.runpytest(
"-v", "--emoji", "-o", "console_output_style=classic"
)
# fnmatch_lines does an assertion internally
result.stdout.fnmatch_lines(
[
"*::test_passed PASSED 🍪 ",
"*::test_failed FAILED 😿 ",
"*::test_xfailed XFAIL 🤓 ",
"*::test_xpassed XPASS 😜 ",
"*::test_skipped SKIPPED 🙈 *",
"*::test_error ERROR 💩 ",
]
)
# make sure that that we get a '1' exit code
# as we have at least one failure
assert result.ret == 1
def test_emoji_disabled_by_default_non_verbose(testdir, emoji_tests):
# create a temporary pytest test module
testdir.makepyfile(emoji_tests)
# run pytest with the following cmd args
result = testdir.runpytest("-o", "console_output_style=classic")
# fnmatch_lines does an assertion internally
result.stdout.fnmatch_lines(["* .FxXsE"])
# make sure that that we get a '1' exit code
# as we have at least one failure
assert result.ret == 1
def test_emoji_enabled_non_verbose(testdir, emoji_tests):
# create a temporary pytest test module
testdir.makepyfile(emoji_tests)
# run pytest with the following cmd args
result = testdir.runpytest("--emoji", "-o", "console_output_style=classic")
# fnmatch_lines does an assertion internally
result.stdout.fnmatch_lines(["* 😃 😰 😞 😲 🙄 😡 "])
# make sure that that we get a '1' exit code
# as we have at least one failure
assert result.ret == 1
def test_emoji_enabled_custom_non_verbose(testdir, emoji_tests, custom_emojis):
testdir.makeconftest(custom_emojis)
# create a temporary pytest test module
testdir.makepyfile(emoji_tests)
# run pytest with the following cmd args
result = testdir.runpytest("--emoji", "-o", "console_output_style=classic")
# fnmatch_lines does an assertion internally
result.stdout.fnmatch_lines(["* 🍪 😿 🤓 😜 🙈 💩 "])
# make sure that that we get a '1' exit code
# as we have at least one failure
assert result.ret == 1