File tree Expand file tree Collapse file tree 2 files changed +15
-5
lines changed Expand file tree Collapse file tree 2 files changed +15
-5
lines changed Original file line number Diff line number Diff line change 1515version_str = "markdown-it-py [version {}]" .format (__version__ )
1616
1717
18- def main (args : Optional [Sequence [str ]] = None ) -> bool :
18+ def main (args : Optional [Sequence [str ]] = None ) -> int :
1919 namespace = parse_args (args )
2020 if namespace .filenames :
2121 convert (namespace .filenames )
2222 else :
2323 interactive ()
24- return True
24+ return 0
2525
2626
2727def convert (filenames : Iterable [str ]) -> None :
@@ -38,7 +38,8 @@ def convert_file(filename: str) -> None:
3838 rendered = MarkdownIt ().render (fin .read ())
3939 print (rendered , end = "" )
4040 except OSError :
41- sys .exit ('Cannot open file "{}".' .format (filename ))
41+ sys .stderr .write (f'Cannot open file "{ filename } ".\n ' )
42+ sys .exit (1 )
4243
4344
4445def interactive () -> None :
@@ -103,4 +104,5 @@ def print_heading() -> None:
103104
104105
105106if __name__ == "__main__" :
106- main (sys .argv [1 :])
107+ exit_code = main (sys .argv [1 :])
108+ sys .exit (exit_code )
Original file line number Diff line number Diff line change 22import tempfile
33from unittest .mock import patch
44
5+ import pytest
6+
57from markdown_it .cli import parse
68
79
810def test_parse ():
911 with tempfile .TemporaryDirectory () as tempdir :
1012 path = pathlib .Path (tempdir ).joinpath ("test.md" )
1113 path .write_text ("a b c" )
12- assert parse .main ([str (path )])
14+ assert parse .main ([str (path )]) == 0
15+
16+
17+ def test_parse_fail ():
18+ with pytest .raises (SystemExit ) as exc_info :
19+ parse .main (["/tmp/nonexistant_path/for_cli_test.md" ])
20+ assert exc_info .value .code == 1
1321
1422
1523def test_print_heading ():
You can’t perform that action at this time.
0 commit comments