Coverage for tests/test_exit_errors.py: 100%

36 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2024-11-13 11:07 +0000

1import errno 1habcdefg

2 

3import typer 1habcdefg

4import typer.completion 1habcdefg

5from typer.testing import CliRunner 1habcdefg

6 

7runner = CliRunner() 1habcdefg

8 

9 

10def test_eoferror(): 1habcdefg

11 # Mainly for coverage/completeness 

12 app = typer.Typer() 1habcdefg

13 

14 @app.command() 1habcdefg

15 def main(): 1abcdefg

16 raise EOFError() 1habcdefg

17 

18 result = runner.invoke(app) 1habcdefg

19 assert result.exit_code == 1 1habcdefg

20 

21 

22def test_keyboardinterrupt(): 1habcdefg

23 # Mainly for coverage/completeness 

24 app = typer.Typer() 1habcdefg

25 

26 @app.command() 1habcdefg

27 def main(): 1abcdefg

28 raise KeyboardInterrupt() 1habcdefg

29 

30 result = runner.invoke(app) 1habcdefg

31 assert result.exit_code == 130 1habcdefg

32 assert result.stdout == "" 1habcdefg

33 

34 

35def test_oserror(): 1habcdefg

36 # Mainly for coverage/completeness 

37 app = typer.Typer() 1habcdefg

38 

39 @app.command() 1habcdefg

40 def main(): 1abcdefg

41 e = OSError() 1habcdefg

42 e.errno = errno.EPIPE 1habcdefg

43 raise e 1habcdefg

44 

45 result = runner.invoke(app) 1habcdefg

46 assert result.exit_code == 1 1habcdefg

47 

48 

49def test_oserror_no_epipe(): 1habcdefg

50 # Mainly for coverage/completeness 

51 app = typer.Typer() 1habcdefg

52 

53 @app.command() 1habcdefg

54 def main(): 1abcdefg

55 raise OSError() 1habcdefg

56 

57 result = runner.invoke(app) 1habcdefg

58 assert result.exit_code == 1 1habcdefg