Coverage for tests/test_tutorial/test_exceptions/test_tutorial002.py: 100%
28 statements
« prev ^ index » next coverage.py v7.6.1, created at 2025-12-19 20:29 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2025-12-19 20:29 +0000
1import os 1abcdefghi
2import subprocess 1abcdefghi
3import sys 1abcdefghi
4from pathlib import Path 1abcdefghi
6import pytest 1abcdefghi
7from typer.testing import CliRunner 1abcdefghi
9from docs_src.exceptions import tutorial002 as mod 1abcdefghi
11runner = CliRunner() 1abcdefghi
14def test_traceback_rich(): 1abcdefghi
15 file_path = Path(mod.__file__) 1abcdefghi
16 result = subprocess.run( 1abcdefghi
17 [sys.executable, "-m", "coverage", "run", str(file_path), "secret"],
18 capture_output=True,
19 encoding="utf-8",
20 env={
21 **os.environ,
22 "TYPER_STANDARD_TRACEBACK": "",
23 "_TYPER_STANDARD_TRACEBACK": "",
24 },
25 )
26 assert "return get_command(self)(*args, **kwargs)" not in result.stderr 1abcdefghi
28 assert "app()" not in result.stderr 1abcdefghi
29 assert "print(password + 3)" in result.stderr 1abcdefghi
30 assert 'TypeError: can only concatenate str (not "int") to str' in result.stderr 1abcdefghi
31 assert "name = 'morty'" not in result.stderr 1abcdefghi
34@pytest.mark.parametrize( 1abcdefghi
35 "env_var", ["TYPER_STANDARD_TRACEBACK", "_TYPER_STANDARD_TRACEBACK"]
36)
37def test_standard_traceback_env_var(env_var: str): 1abcdefghi
38 file_path = Path(mod.__file__) 1abcdefghi
39 result = subprocess.run( 1abcdefghi
40 [sys.executable, "-m", "coverage", "run", str(file_path), "secret"],
41 capture_output=True,
42 encoding="utf-8",
43 env={**os.environ, env_var: "1"},
44 )
45 assert "return get_command(self)(*args, **kwargs)" in result.stderr 1abcdefghi
47 assert "app()" in result.stderr 1abcdefghi
48 assert "print(password + 3)" in result.stderr 1abcdefghi
49 assert 'TypeError: can only concatenate str (not "int") to str' in result.stderr 1abcdefghi
50 assert "name = 'morty'" not in result.stderr 1abcdefghi
53def test_script(): 1abcdefghi
54 result = subprocess.run( 1abcdefghi
55 [sys.executable, "-m", "coverage", "run", mod.__file__, "--help"],
56 capture_output=True,
57 encoding="utf-8",
58 )
59 assert "Usage" in result.stdout 1abcdefghi