@@ -785,10 +785,10 @@ def test_bad_examples(self, capsys, klass, func, msgs):
785
785
assert msg in ' ' .join (err [1 ] for err in result ['errors' ])
786
786
787
787
788
- class ApiItems (object ):
788
+ class TestApiItems (object ):
789
789
@property
790
790
def api_doc (self ):
791
- return textwrap . dedent ( io .StringIO ('''
791
+ return io .StringIO ( textwrap . dedent ('''
792
792
.. currentmodule:: itertools
793
793
794
794
Itertools
@@ -861,93 +861,90 @@ def test_item_subsection(self, idx, subsection):
861
861
assert result [idx ][3 ] == subsection
862
862
863
863
864
- class MainFunction (object ):
865
- def test_num_errors_for_validate_one (self , monkeypatch ):
864
+ class TestMainFunction (object ):
865
+ def test_exit_status_for_validate_one (self , monkeypatch ):
866
866
monkeypatch .setattr (
867
- validate_docstrings , 'validate_one' ,
868
- lambda func_name : {'docstring' : 'docstring1' ,
869
- 'errors' : [('ER01' , 'err desc' ),
870
- ('ER02' , 'err desc' )
871
- ('ER03' , 'err desc' )],
872
- 'warnings' : [],
873
- 'examples_errors' : '' })
874
- num_errors = validate_docstrings .main (func_name = 'docstring1' ,
875
- prefix = None ,
876
- errors = [],
877
- output_format = 'default' )
878
- assert num_errors == 3
879
-
880
- def test_no_num_errors_for_validate_one (self , monkeypatch ):
881
- monkeypatch .setattr (
882
- validate_docstrings , 'validate_one' ,
883
- lambda func_name : {'docstring' : 'docstring1' ,
884
- 'errors' : [],
885
- 'warnings' : [('WN01' , 'warn desc' )],
886
- 'examples_errors' : '' })
887
- num_errors = validate_docstrings .main (func_name = 'docstring1' ,
888
- prefix = None ,
889
- errors = [],
890
- output_format = 'default' )
891
- assert num_errors == 0
892
-
893
- def test_num_errors_for_validate_all (self , monkeypatch ):
867
+ validate_docstrings , 'validate_one' , lambda func_name : {
868
+ 'docstring' : 'docstring1' ,
869
+ 'errors' : [('ER01' , 'err desc' ),
870
+ ('ER02' , 'err desc' ),
871
+ ('ER03' , 'err desc' )],
872
+ 'warnings' : [],
873
+ 'examples_errors' : '' })
874
+ exit_status = validate_docstrings .main (func_name = 'docstring1' ,
875
+ prefix = None ,
876
+ errors = [],
877
+ output_format = 'default' )
878
+ assert exit_status == 0
879
+
880
+ def test_exit_status_errors_for_validate_all (self , monkeypatch ):
894
881
monkeypatch .setattr (
895
- validate_docstrings , 'validate_all' ,
896
- lambda : {'docstring1' : {'errors' : [('ER01' , 'err desc' ),
897
- ('ER02' , 'err desc' ),
898
- ('ER03' , 'err desc' )]},
899
- 'docstring2' : {'errors' : [('ER04' , 'err desc' ),
900
- ('ER05' , 'err desc' )]}})
901
- num_errors = validate_docstrings .main (func_name = None ,
902
- prefix = None ,
903
- errors = [],
904
- output_format = 'default' )
905
- assert num_errors == 5
906
-
907
- def test_no_num_errors_for_validate_all (self , monkeypatch ):
882
+ validate_docstrings , 'validate_all' , lambda prefix : {
883
+ 'docstring1' : {'errors' : [('ER01' , 'err desc' ),
884
+ ('ER02' , 'err desc' ),
885
+ ('ER03' , 'err desc' )],
886
+ 'file' : 'module1.py' ,
887
+ 'file_line' : 23 },
888
+ 'docstring2' : {'errors' : [('ER04' , 'err desc' ),
889
+ ('ER05' , 'err desc' )],
890
+ 'file' : 'module2.py' ,
891
+ 'file_line' : 925 }})
892
+ exit_status = validate_docstrings .main (func_name = None ,
893
+ prefix = None ,
894
+ errors = [],
895
+ output_format = 'default' )
896
+ assert exit_status == 5
897
+
898
+ def test_no_exit_status_noerrors_for_validate_all (self , monkeypatch ):
908
899
monkeypatch .setattr (
909
- validate_docstrings , 'validate_all' ,
910
- lambda : {'docstring1' : {'errors' : [],
911
- 'warnings' : [('WN01' , 'warn desc' )]},
912
- 'docstring2' : {'errors' : []}})
913
- num_errors = validate_docstrings .main (func_name = None ,
914
- prefix = None ,
915
- errors = [],
916
- output_format = 'default' )
917
- assert num_errors == 0
918
-
919
- def test_prefix_param_filters_docstrings (self , monkeypatch ):
900
+ validate_docstrings , 'validate_all' , lambda prefix : {
901
+ 'docstring1' : {'errors' : [],
902
+ 'warnings' : [('WN01' , 'warn desc' )]},
903
+ 'docstring2' : {'errors' : []}})
904
+ exit_status = validate_docstrings .main (func_name = None ,
905
+ prefix = None ,
906
+ errors = [],
907
+ output_format = 'default' )
908
+ assert exit_status == 0
909
+
910
+ def test_exit_status_for_validate_all_json (self , monkeypatch ):
911
+ print ('EXECUTED' )
920
912
monkeypatch .setattr (
921
- validate_docstrings , 'validate_all' ,
922
- lambda : {'Series.foo' : {'errors' : [('ER01' , 'err desc' ),
923
- ('ER02' , 'err desc' ),
924
- ('ER03' , 'err desc' )]},
925
- 'DataFrame.bar' : {'errors' : [('ER04' , 'err desc' ),
926
- ('ER05' , 'err desc' )]},
927
- 'Series.foobar' : {'errors' : [('ER06' , 'err desc' )]}})
928
- num_errors = validate_docstrings .main (func_name = None ,
929
- prefix = 'Series.' ,
930
- errors = [],
931
- output_format = 'default' )
932
- assert num_errors == 4
913
+ validate_docstrings , 'validate_all' , lambda prefix : {
914
+ 'docstring1' : {'errors' : [('ER01' , 'err desc' ),
915
+ ('ER02' , 'err desc' ),
916
+ ('ER03' , 'err desc' )]},
917
+ 'docstring2' : {'errors' : [('ER04' , 'err desc' ),
918
+ ('ER05' , 'err desc' )]}})
919
+ exit_status = validate_docstrings .main (func_name = None ,
920
+ prefix = None ,
921
+ errors = [],
922
+ output_format = 'json' )
923
+ assert exit_status == 0
933
924
934
925
def test_errors_param_filters_errors (self , monkeypatch ):
935
926
monkeypatch .setattr (
936
- validate_docstrings , 'validate_all' ,
937
- lambda : {'Series.foo' : {'errors' : [('ER01' , 'err desc' ),
938
- ('ER02' , 'err desc' ),
939
- ('ER03' , 'err desc' )]},
940
- 'DataFrame.bar' : {'errors' : [('ER01' , 'err desc' ),
941
- ('ER02' , 'err desc' )]},
942
- 'Series.foobar' : {'errors' : [('ER01' , 'err desc' )]}})
943
- num_errors = validate_docstrings .main (func_name = None ,
944
- prefix = None ,
945
- errors = ['E01' ],
946
- output_format = 'default' )
947
- assert num_errors == 3
948
-
949
- num_errors = validate_docstrings .main (func_name = None ,
950
- prefix = None ,
951
- errors = ['E03' ],
952
- output_format = 'default' )
953
- assert num_errors == 1
927
+ validate_docstrings , 'validate_all' , lambda prefix : {
928
+ 'Series.foo' : {'errors' : [('ER01' , 'err desc' ),
929
+ ('ER02' , 'err desc' ),
930
+ ('ER03' , 'err desc' )],
931
+ 'file' : 'series.py' ,
932
+ 'file_line' : 142 },
933
+ 'DataFrame.bar' : {'errors' : [('ER01' , 'err desc' ),
934
+ ('ER02' , 'err desc' )],
935
+ 'file' : 'frame.py' ,
936
+ 'file_line' : 598 },
937
+ 'Series.foobar' : {'errors' : [('ER01' , 'err desc' )],
938
+ 'file' : 'series.py' ,
939
+ 'file_line' : 279 }})
940
+ exit_status = validate_docstrings .main (func_name = None ,
941
+ prefix = None ,
942
+ errors = ['ER01' ],
943
+ output_format = 'default' )
944
+ assert exit_status == 3
945
+
946
+ exit_status = validate_docstrings .main (func_name = None ,
947
+ prefix = None ,
948
+ errors = ['ER03' ],
949
+ output_format = 'default' )
950
+ assert exit_status == 1
0 commit comments