"""Tests that a failed pytest properly displays the call stack.
Uses the output from running pytest with pytest_plugin_failing_helper.py.
Regression test for #381.
"""

import os

import pytest


@pytest.mark.skipif(not os.path.exists("testresult.txt"), reason="Only run in CI tests")
def test_failed_testresult_stacktrace():
    with open("testresult.txt") as f:
        contents = f.read()
    # before the fix, a triple question mark has been displayed
    # instead of the stacktrace
    assert contents
    print("contents", contents)
    assert "???" not in contents
    assert "AttributeError" not in contents
    assert "def test_fs(fs):" in contents
