=============================================== short test summary info ================================================
PASSED demo-tests/test_realistic_minimal.py::test_pass
PASSED demo-tests/test_realistic_minimal.py::test_rerun
PASSED demo-tests/test_realistic_minimal.py::test_warning
PASSED demo-tests/test_realistic_minimal.py::test_long_output
PASSED demo-tests/test_realistic_minimal.py::test_stdout_stderr
SKIPPED [1] demo-tests/test_realistic_minimal.py:31: demonstrate skip
XFAIL demo-tests/test_realistic_minimal.py::test_xfail - expected fail
XPASS demo-tests/test_realistic_minimal.py::test_xpass unexpected pass
ERROR demo-tests/test_realistic_minimal.py::test_error
FAILED demo-tests/test_realistic_minimal.py::test_fail - AssertionError: Intentional failure

============== 1 failed, 5 passed, 1 skipped, 1 xfailed, 1 xpassed, 5 warnings, 1 error, 1 rerun in 2.03s ==============


============== 1 failed, 5 passed, 1 skipped, 1 xfailed, 1 xpassed, 5 warnings, 1 error, 1 rerun in 2.03s ==============
collected 10 items                                                                                                     

demo-tests/test_realistic_minimal.py::test_pass PASSED                                                           [ 10%]
demo-tests/test_realistic_minimal.py::test_fail FAILED                                                           [ 20%]
demo-tests/test_realistic_minimal.py::test_skip SKIPPED (demonstrate skip)                                       [ 30%]
demo-tests/test_realistic_minimal.py::test_xfail XFAIL (expected fail)                                           [ 40%]
demo-tests/test_realistic_minimal.py::test_xpass XPASS (unexpected pass)                                         [ 50%]
demo-tests/test_realistic_minimal.py::test_rerun RERUN                                                           [ 60%]
demo-tests/test_realistic_minimal.py::test_rerun PASSED                                                          [ 60%]
demo-tests/test_realistic_minimal.py::test_error ERROR                                                           [ 70%]
demo-tests/test_realistic_minimal.py::test_warning PASSED                                                        [ 80%]
demo-tests/test_realistic_minimal.py::test_long_output PASSED                                                    [ 90%]
demo-tests/test_realistic_minimal.py::test_stdout_stderr PASSED                                                  [100%]

============== 1 failed, 5 passed, 1 skipped, 1 xfailed, 1 xpassed, 5 warnings, 1 error, 1 rerun in 2.03s ==============


Test run started2025-06-03 22:56:39 UTC
Test run completed2025-06-03 22:56:41 UTC
Test run duration0:00:02
This report generated2025-06-03 22:56:41 UTC
pytest-tui version2.1.0


Python3.9.16
PlatformmacOS-15.5-x86_64-i386-64bit
Packages
pytest7.4.4
pluggy1.5.0
Plugins
Faker18.3.1
json-report1.5.0
recap0.9.1
rerunfailures15.0
metadata2.0.4
tui2.1.0
mock3.14.0
cov6.1.1




fixture stdout
passing stdout
fixture stdout
failing stdout

noisy_fixture = None

    def test_fail(noisy_fixture):
        print("failing stdout")
        logger.info("failing log")
        warnings.warn("failing warning", UserWarning)
        time.sleep(0.3)
>       assert False, "Intentional failure"
E       AssertionError: Intentional failure
E       assert False

demo-tests/test_realistic_minimal.py:29: AssertionError
------------------------------------------------ Captured stdout setup -------------------------------------------------
fixture stdout
------------------------------------------------- Captured stdout call -------------------------------------------------
failing stdout
('/Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py', 31, 'Skipped: demonstrate skip')
    @pytest.mark.xfail(reason="expected fail", strict=True)
    def test_xfail():
        time.sleep(0.15)
>       assert False
E       assert False

demo-tests/test_realistic_minimal.py:38: AssertionError
No output was produced for this test
    @pytest.mark.flaky(reruns=1)
    def test_rerun():
        # Fails first, passes second
        if not hasattr(test_rerun, "called"):
            test_rerun.called = True
            time.sleep(0.1)
>           assert False, "fail for rerun"
E           AssertionError: fail for rerun
E           assert False

demo-tests/test_realistic_minimal.py:51: AssertionError
No output was produced for this test
file /Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py, line 59
  def test_error(error_fixture):
file /Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py, line 55
  @pytest.fixture
  def error_fixture(logger):
E       fixture 'logger' not found
>       available fixtures: _session_faker, cache, capfd, capfdbinary, caplog, capsys, capsysbinary, class_mocker, cov, doctest_namespace, error_fixture, faker, include_metadata_in_junit_xml, json_metadata, metadata, mocker, module_mocker, monkeypatch, no_cover, noisy_fixture, package_mocker, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, session_mocker, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory
>       use 'pytest --fixtures [testpath]' for help on them.

/Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py:55
No output was produced for this test
WARNING  demo:test_realistic_minimal.py:71 Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...
some stderr
some stdout
fixture stdout
failing stdout

noisy_fixture = None

    def test_fail(noisy_fixture):
        print("failing stdout")
        logger.info("failing log")
        warnings.warn("failing warning", UserWarning)
        time.sleep(0.3)
>       assert False, "Intentional failure"
E       AssertionError: Intentional failure
E       assert False

demo-tests/test_realistic_minimal.py:29: AssertionError
------------------------------------------------ Captured stdout setup -------------------------------------------------
fixture stdout
------------------------------------------------- Captured stdout call -------------------------------------------------
failing stdout
fixture stdout
passing stdout
No output was produced for this test
No output was produced for this test
WARNING  demo:test_realistic_minimal.py:71 Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...
some stderr
some stdout
('/Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py', 31, 'Skipped: demonstrate skip')
    @pytest.mark.xfail(reason="expected fail", strict=True)
    def test_xfail():
        time.sleep(0.15)
>       assert False
E       assert False

demo-tests/test_realistic_minimal.py:38: AssertionError
No output was produced for this test
    @pytest.mark.flaky(reruns=1)
    def test_rerun():
        # Fails first, passes second
        if not hasattr(test_rerun, "called"):
            test_rerun.called = True
            time.sleep(0.1)
>           assert False, "fail for rerun"
E           AssertionError: fail for rerun
E           assert False

demo-tests/test_realistic_minimal.py:51: AssertionError
No output was produced for this test
================================================= test session starts ==================================================
platform darwin -- Python 3.9.16, pytest-7.4.4, pluggy-1.5.0 -- /Users/jwr003/coding/pytest-recap/.venv/bin/python3
cachedir: .pytest_cache
metadata: {'Python': '3.9.16', 'Platform': 'macOS-15.5-x86_64-i386-64bit', 'Packages': {'pytest': '7.4.4', 'pluggy': '1.5.0'}, 'Plugins': {'Faker': '18.3.1', 'json-report': '1.5.0', 'recap': '0.9.1', 'rerunfailures': '15.0', 'metadata': '2.0.4', 'tui': '2.1.0', 'mock': '3.14.0', 'cov': '6.1.1'}, 'JAVA_HOME': '/Library/Java/JavaVirtualMachines/temurin-11.jdk/Contents/Home'}
rootdir: /Users/jwr003/coding/pytest-recap
configfile: pyproject.toml
plugins: Faker-18.3.1, json-report-1.5.0, recap-0.9.1, rerunfailures-15.0, metadata-2.0.4, tui-2.1.0, mock-3.14.0, cov-6.1.1
collecting ... 

collected 10 items                                                                                                     

demo-tests/test_realistic_minimal.py::test_pass PASSED                                                           [ 10%]
demo-tests/test_realistic_minimal.py::test_fail FAILED                                                           [ 20%]
demo-tests/test_realistic_minimal.py::test_skip SKIPPED (demonstrate skip)                                       [ 30%]
demo-tests/test_realistic_minimal.py::test_xfail XFAIL (expected fail)                                           [ 40%]
demo-tests/test_realistic_minimal.py::test_xpass XPASS (unexpected pass)                                         [ 50%]
demo-tests/test_realistic_minimal.py::test_rerun RERUN                                                           [ 60%]
demo-tests/test_realistic_minimal.py::test_rerun PASSED                                                          [ 60%]
demo-tests/test_realistic_minimal.py::test_error ERROR                                                           [ 70%]
demo-tests/test_realistic_minimal.py::test_warning PASSED                                                        [ 80%]
demo-tests/test_realistic_minimal.py::test_long_output PASSED                                                    [ 90%]
demo-tests/test_realistic_minimal.py::test_stdout_stderr PASSED                                                  [100%]

======================================================== ERRORS ========================================================
_____________________________________________ ERROR at setup of test_error _____________________________________________
file /Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py, line 59
  def test_error(error_fixture):
file /Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py, line 55
  @pytest.fixture
  def error_fixture(logger):
E       fixture 'logger' not found
>       available fixtures: _session_faker, cache, capfd, capfdbinary, caplog, capsys, capsysbinary, class_mocker, cov, doctest_namespace, error_fixture, faker, include_metadata_in_junit_xml, json_metadata, metadata, mocker, module_mocker, monkeypatch, no_cover, noisy_fixture, package_mocker, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, session_mocker, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory
>       use 'pytest --fixtures [testpath]' for help on them.

/Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py:55
======================================================= FAILURES =======================================================
______________________________________________________ test_fail _______________________________________________________

noisy_fixture = None

    def test_fail(noisy_fixture):
        print("failing stdout")
        logger.info("failing log")
        warnings.warn("failing warning", UserWarning)
        time.sleep(0.3)
>       assert False, "Intentional failure"
E       AssertionError: Intentional failure
E       assert False

demo-tests/test_realistic_minimal.py:29: AssertionError
------------------------------------------------ Captured stdout setup -------------------------------------------------
fixture stdout
------------------------------------------------- Captured stdout call -------------------------------------------------
failing stdout
----------------------------------------------- Captured stdout teardown -----------------------------------------------
teardown stdout
=================================================== warnings summary ===================================================
demo-tests/test_realistic_minimal.py::test_pass
demo-tests/test_realistic_minimal.py::test_fail
  /Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py:12: UserWarning: fixture warning
    warnings.warn("fixture warning", UserWarning)

demo-tests/test_realistic_minimal.py::test_pass
  /Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py:20: UserWarning: passing warning
    warnings.warn("passing warning", UserWarning)

demo-tests/test_realistic_minimal.py::test_fail
  /Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py:27: UserWarning: failing warning
    warnings.warn("failing warning", UserWarning)

demo-tests/test_realistic_minimal.py::test_warning
  /Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py:67: UserWarning: explicit test warning
    warnings.warn("explicit test warning", UserWarning)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
======================================================== PASSES ========================================================
______________________________________________________ test_pass _______________________________________________________
------------------------------------------------ Captured stdout setup -------------------------------------------------
fixture stdout
------------------------------------------------- Captured stdout call -------------------------------------------------
passing stdout
----------------------------------------------- Captured stdout teardown -----------------------------------------------
teardown stdout
___________________________________________________ test_long_output ___________________________________________________
------------------------------------------------- Captured stdout call -------------------------------------------------
Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...
-------------------------------------------------- Captured log call ---------------------------------------------------
WARNING  demo:test_realistic_minimal.py:71 Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...
__________________________________________________ test_stdout_stderr __________________________________________________
------------------------------------------------- Captured stdout call -------------------------------------------------
some stdout
------------------------------------------------- Captured stderr call -------------------------------------------------
some stderr
--------------------------- generated xml file: /Users/jwr003/coding/pytest-recap/report.xml ---------------------------
----------------------------------------------------- JSON report ------------------------------------------------------
report saved to: report.json
==================================================== tests coverage ====================================================
___________________________________ coverage: platform darwin, python 3.9.16-final-0 ___________________________________

Name                       Stmts   Miss  Cover   Missing
--------------------------------------------------------
pytest_recap/__init__.py       0      0   100%
pytest_recap/cloud.py         37     37     0%   1-49
pytest_recap/models.py       166    166     0%   1-439
pytest_recap/plugin.py       212    198     7%   1-90, 102, 108-109, 117-118, 121-125, 147-320, 328-514
pytest_recap/storage.py       72     72     0%   1-133
--------------------------------------------------------
TOTAL                        487    473     3%
Coverage HTML written to dir htmlcov
=============================================== rerun test summary info ================================================
RERUN demo-tests/test_realistic_minimal.py::test_rerun
---------------------------------------- Recap: 5 warnings, 0 errors collected -----------------------------------------

Warnings:
  /Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py:12 [UserWarning] fixture warning
  /Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py:20 [UserWarning] passing warning
  /Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py:12 [UserWarning] fixture warning
  /Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py:27 [UserWarning] failing warning
  /Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py:67 [UserWarning] explicit test warning
===================================================== pytest-recap =====================================================
Recap JSON written to: /Users/jwr003/coding/pytest-recap/recap.json
=============================================== short test summary info ================================================
PASSED demo-tests/test_realistic_minimal.py::test_pass
PASSED demo-tests/test_realistic_minimal.py::test_rerun
PASSED demo-tests/test_realistic_minimal.py::test_warning
PASSED demo-tests/test_realistic_minimal.py::test_long_output
PASSED demo-tests/test_realistic_minimal.py::test_stdout_stderr
SKIPPED [1] demo-tests/test_realistic_minimal.py:31: demonstrate skip
XFAIL demo-tests/test_realistic_minimal.py::test_xfail - expected fail
XPASS demo-tests/test_realistic_minimal.py::test_xpass unexpected pass
ERROR demo-tests/test_realistic_minimal.py::test_error
FAILED demo-tests/test_realistic_minimal.py::test_fail - AssertionError: Intentional failure
============== 1 failed, 5 passed, 1 skipped, 1 xfailed, 1 xpassed, 5 warnings, 1 error, 1 rerun in 2.03s ==============
============== 1 failed, 5 passed, 1 skipped, 1 xfailed, 1 xpassed, 5 warnings, 1 error, 1 rerun in 2.03s ==============

================================================= test session starts ==================================================
platform darwin -- Python 3.9.16, pytest-7.4.4, pluggy-1.5.0 -- /Users/jwr003/coding/pytest-recap/.venv/bin/python3
cachedir: .pytest_cache
metadata: {'Python': '3.9.16', 'Platform': 'macOS-15.5-x86_64-i386-64bit', 'Packages': {'pytest': '7.4.4', 'pluggy': '1.5.0'}, 'Plugins': {'Faker': '18.3.1', 'json-report': '1.5.0', 'recap': '0.9.1', 'rerunfailures': '15.0', 'metadata': '2.0.4', 'tui': '2.1.0', 'mock': '3.14.0', 'cov': '6.1.1'}, 'JAVA_HOME': '/Library/Java/JavaVirtualMachines/temurin-11.jdk/Contents/Home'}
rootdir: /Users/jwr003/coding/pytest-recap
configfile: pyproject.toml
plugins: Faker-18.3.1, json-report-1.5.0, recap-0.9.1, rerunfailures-15.0, metadata-2.0.4, tui-2.1.0, mock-3.14.0, cov-6.1.1
collecting ... 

collected 10 items                                                                                                     

demo-tests/test_realistic_minimal.py::test_pass PASSED                                                           [ 10%]
demo-tests/test_realistic_minimal.py::test_fail FAILED                                                           [ 20%]
demo-tests/test_realistic_minimal.py::test_skip SKIPPED (demonstrate skip)                                       [ 30%]
demo-tests/test_realistic_minimal.py::test_xfail XFAIL (expected fail)                                           [ 40%]
demo-tests/test_realistic_minimal.py::test_xpass XPASS (unexpected pass)                                         [ 50%]
demo-tests/test_realistic_minimal.py::test_rerun RERUN                                                           [ 60%]
demo-tests/test_realistic_minimal.py::test_rerun PASSED                                                          [ 60%]
demo-tests/test_realistic_minimal.py::test_error ERROR                                                           [ 70%]
demo-tests/test_realistic_minimal.py::test_warning PASSED                                                        [ 80%]
demo-tests/test_realistic_minimal.py::test_long_output PASSED                                                    [ 90%]
demo-tests/test_realistic_minimal.py::test_stdout_stderr PASSED                                                  [100%]

=============================================== short test summary info ================================================
PASSED demo-tests/test_realistic_minimal.py::test_pass
PASSED demo-tests/test_realistic_minimal.py::test_rerun
PASSED demo-tests/test_realistic_minimal.py::test_warning
PASSED demo-tests/test_realistic_minimal.py::test_long_output
PASSED demo-tests/test_realistic_minimal.py::test_stdout_stderr
SKIPPED [1] demo-tests/test_realistic_minimal.py:31: demonstrate skip
XFAIL demo-tests/test_realistic_minimal.py::test_xfail - expected fail
XPASS demo-tests/test_realistic_minimal.py::test_xpass unexpected pass
ERROR demo-tests/test_realistic_minimal.py::test_error
FAILED demo-tests/test_realistic_minimal.py::test_fail - AssertionError: Intentional failure
======================================================= FAILURES =======================================================
______________________________________________________ test_fail _______________________________________________________

noisy_fixture = None

    def test_fail(noisy_fixture):
        print("failing stdout")
        logger.info("failing log")
        warnings.warn("failing warning", UserWarning)
        time.sleep(0.3)
>       assert False, "Intentional failure"
E       AssertionError: Intentional failure
E       assert False

demo-tests/test_realistic_minimal.py:29: AssertionError
------------------------------------------------ Captured stdout setup -------------------------------------------------
fixture stdout
------------------------------------------------- Captured stdout call -------------------------------------------------
failing stdout
----------------------------------------------- Captured stdout teardown -----------------------------------------------
teardown stdout
======================================================== PASSES ========================================================
______________________________________________________ test_pass _______________________________________________________
------------------------------------------------ Captured stdout setup -------------------------------------------------
fixture stdout
------------------------------------------------- Captured stdout call -------------------------------------------------
passing stdout
----------------------------------------------- Captured stdout teardown -----------------------------------------------
teardown stdout
___________________________________________________ test_long_output ___________________________________________________
------------------------------------------------- Captured stdout call -------------------------------------------------
Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...Long output the first...
-------------------------------------------------- Captured log call ---------------------------------------------------
WARNING  demo:test_realistic_minimal.py:71 Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...Long output the second...
__________________________________________________ test_stdout_stderr __________________________________________________
------------------------------------------------- Captured stdout call -------------------------------------------------
some stdout
------------------------------------------------- Captured stderr call -------------------------------------------------
some stderr
--------------------------- generated xml file: /Users/jwr003/coding/pytest-recap/report.xml ---------------------------
----------------------------------------------------- JSON report ------------------------------------------------------
report saved to: report.json
==================================================== tests coverage ====================================================
___________________________________ coverage: platform darwin, python 3.9.16-final-0 ___________________________________

Name                       Stmts   Miss  Cover   Missing
--------------------------------------------------------
pytest_recap/__init__.py       0      0   100%
pytest_recap/cloud.py         37     37     0%   1-49
pytest_recap/models.py       166    166     0%   1-439
pytest_recap/plugin.py       212    198     7%   1-90, 102, 108-109, 117-118, 121-125, 147-320, 328-514
pytest_recap/storage.py       72     72     0%   1-133
--------------------------------------------------------
TOTAL                        487    473     3%
Coverage HTML written to dir htmlcov
=================================================== warnings summary ===================================================
demo-tests/test_realistic_minimal.py::test_pass
demo-tests/test_realistic_minimal.py::test_fail
  /Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py:12: UserWarning: fixture warning
    warnings.warn("fixture warning", UserWarning)

demo-tests/test_realistic_minimal.py::test_pass
  /Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py:20: UserWarning: passing warning
    warnings.warn("passing warning", UserWarning)

demo-tests/test_realistic_minimal.py::test_fail
  /Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py:27: UserWarning: failing warning
    warnings.warn("failing warning", UserWarning)

demo-tests/test_realistic_minimal.py::test_warning
  /Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py:67: UserWarning: explicit test warning
    warnings.warn("explicit test warning", UserWarning)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
======================================================== ERRORS ========================================================
_____________________________________________ ERROR at setup of test_error _____________________________________________
file /Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py, line 59
  def test_error(error_fixture):
file /Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py, line 55
  @pytest.fixture
  def error_fixture(logger):
E       fixture 'logger' not found
>       available fixtures: _session_faker, cache, capfd, capfdbinary, caplog, capsys, capsysbinary, class_mocker, cov, doctest_namespace, error_fixture, faker, include_metadata_in_junit_xml, json_metadata, metadata, mocker, module_mocker, monkeypatch, no_cover, noisy_fixture, package_mocker, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, session_mocker, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory
>       use 'pytest --fixtures [testpath]' for help on them.

/Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py:55
=============================================== rerun test summary info ================================================
RERUN demo-tests/test_realistic_minimal.py::test_rerun
---------------------------------------- Recap: 5 warnings, 0 errors collected -----------------------------------------

Warnings:
  /Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py:12 [UserWarning] fixture warning
  /Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py:20 [UserWarning] passing warning
  /Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py:12 [UserWarning] fixture warning
  /Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py:27 [UserWarning] failing warning
  /Users/jwr003/coding/pytest-recap/demo-tests/test_realistic_minimal.py:67 [UserWarning] explicit test warning
===================================================== pytest-recap =====================================================
Recap JSON written to: /Users/jwr003/coding/pytest-recap/recap.json
None