File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11"""Tests for the Flaky integration, which retries failed tests.
22"""
3- import asyncio
43
5- import flaky
6- import pytest
74
8- _threshold = - 1
5+ from textwrap import dedent
96
7+ pytest_plugins = "pytester"
108
11- @flaky .flaky (3 , 2 )
12- @pytest .mark .asyncio
13- async def test_asyncio_flaky_thing_that_fails_then_succeeds ():
14- global _threshold
15- await asyncio .sleep (0.1 )
16- _threshold += 1
17- assert _threshold != 1
9+
10+ def test_auto_mode_cmdline (pytester ):
11+ pytester .makepyfile (
12+ dedent (
13+ """\
14+ import asyncio
15+ import flaky
16+ import pytest
17+
18+ _threshold = -1
19+
20+ @flaky.flaky(3, 2)
21+ @pytest.mark.asyncio
22+ async def test_asyncio_flaky_thing_that_fails_then_succeeds():
23+ global _threshold
24+ await asyncio.sleep(0.1)
25+ _threshold += 1
26+ assert _threshold != 1
27+ """
28+ )
29+ )
30+ # runpytest_subprocess() is required to don't pollute the output
31+ # with flaky restart information
32+ result = pytester .runpytest_subprocess ()
33+ result .assert_outcomes (passed = 1 )
34+ result .stdout .fnmatch_lines (
35+ [
36+ "===Flaky Test Report===" ,
37+ "test_asyncio_flaky_thing_that_fails_then_succeeds passed 1 "
38+ "out of the required 2 times. Running test again until it passes 2 times." ,
39+ "test_asyncio_flaky_thing_that_fails_then_succeeds failed "
40+ "(1 runs remaining out of 3)." ,
41+ " <class 'AssertionError'>" ,
42+ " assert 1 != 1" ,
43+ "test_asyncio_flaky_thing_that_fails_then_succeeds passed 2 "
44+ "out of the required 2 times. Success!" ,
45+ "===End Flaky Test Report===" ,
46+ ]
47+ )
You can’t perform that action at this time.
0 commit comments