Coverage for tests / test_exit_errors.py: 100%
36 statements
« prev ^ index » next coverage.py v7.13.1, created at 2026-03-26 21:46 +0000
« prev ^ index » next coverage.py v7.13.1, created at 2026-03-26 21:46 +0000
1import errno 1abcdefg
3import typer 1abcdefg
4import typer.completion 1abcdefg
5from typer.testing import CliRunner 1abcdefg
7runner = CliRunner() 1abcdefg
10def test_eoferror(): 1abcdefg
11 # Mainly for coverage/completeness
12 app = typer.Typer() 1abcdefg
14 @app.command() 1abcdefg
15 def main(): 1abcdefg
16 raise EOFError() 1abcdefg
18 result = runner.invoke(app) 1abcdefg
19 assert result.exit_code == 1 1abcdefg
22def test_keyboardinterrupt(): 1abcdefg
23 # Mainly for coverage/completeness
24 app = typer.Typer() 1abcdefg
26 @app.command() 1abcdefg
27 def main(): 1abcdefg
28 raise KeyboardInterrupt() 1abcdefg
30 result = runner.invoke(app) 1abcdefg
31 assert result.exit_code == 130 1abcdefg
32 assert result.stdout == "" 1abcdefg
35def test_oserror(): 1abcdefg
36 # Mainly for coverage/completeness
37 app = typer.Typer() 1abcdefg
39 @app.command() 1abcdefg
40 def main(): 1abcdefg
41 e = OSError() 1abcdefg
42 e.errno = errno.EPIPE 1abcdefg
43 raise e 1abcdefg
45 result = runner.invoke(app) 1abcdefg
46 assert result.exit_code == 1 1abcdefg
49def test_oserror_no_epipe(): 1abcdefg
50 # Mainly for coverage/completeness
51 app = typer.Typer() 1abcdefg
53 @app.command() 1abcdefg
54 def main(): 1abcdefg
55 raise OSError() 1abcdefg
57 result = runner.invoke(app) 1abcdefg
58 assert result.exit_code == 1 1abcdefg