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