@@ -83,31 +83,31 @@ def report(output):
83
83
def doctest_ok (test ):
84
84
"""doctests zijn voldoende aanwezig en geven allemaal akkoord"""
85
85
def testMethod ():
86
- with open (test .fileName , 'r' ) as source_file :
87
- source = source_file .read ()
88
- functions = re .findall (r'def\s+(\w+)\(([^\)]*)\)[^-]+(->\s*([\w\[,\] _]+))?:' , source )
89
- n_functions_not_returning = len ([function for function in functions if ('file' in function [1 ] or function [3 ] == 'None' or function [3 ] == '' )])
90
- n_functions = len (functions )
91
- p = subprocess .run ([sys .executable or 'python3' , '-m' , 'doctest' , '-v' , test .fileName ], capture_output = True , universal_newlines = True )
92
- if "Traceback" in p .stderr :
93
- return False , p .stderr .splitlines ()[- 1 ]
94
- test_stats_rex = re .compile ('(\d*) tests in (\d*) items' )
95
- test_pass_rex = re .compile ('(\d*) passed and (\d*) failed' )
96
- test_stats = test_stats_rex .search (p .stdout .splitlines ()[- 3 ])
97
- test_pass = test_pass_rex .search (p .stdout .splitlines ()[- 2 ])
98
- n_tests = int (test_stats .group (1 ))
99
- n_items = int (test_stats .group (2 ))- 1
100
- n_tested = n_items - n_functions_not_returning
101
- n_pass = int (test_pass .group (1 ))
102
- if n_functions == 0 :
103
- return False , "je programma moet functies gebruiken (of type hints ontbreken!)"
104
- elif n_tested == 0 :
105
- # geen testbare functies blijkbaar?
106
- return True
107
- elif n_tested > 0 and n_tests // n_tested < 2 :
108
- return False , f"{ n_tests } voorbeelden bij { n_tested } testbare functies is niet genoeg \n (we tellen alleen functies die iets returnen)"
109
- elif n_pass < n_tests :
110
- return False , f"{ n_pass } van { n_tests } voorbeelden slagen"
86
+ # with open(test.fileName, 'r') as source_file:
87
+ # source = source_file.read()
88
+ # functions = re.findall(r'def\s+(\w+)\(([^\)]*)\)[^-]+(->\s*([\w\[,\] _]+))?:', source)
89
+ # n_functions_not_returning = len([function for function in functions if ('file' in function[1] or function[3] == 'None' or function[3] == '')])
90
+ # n_functions = len(functions)
91
+ # p = subprocess.run([sys.executable or 'python3', '-m', 'doctest', '-v', test.fileName], capture_output=True, universal_newlines=True)
92
+ # if "Traceback" in p.stderr:
93
+ # return False, p.stderr.splitlines()[-1]
94
+ # test_stats_rex = re.compile('(\d*) tests in (\d*) items')
95
+ # test_pass_rex = re.compile('(\d*) passed and (\d*) failed')
96
+ # test_stats = test_stats_rex.search(p.stdout.splitlines()[-3])
97
+ # test_pass = test_pass_rex.search(p.stdout.splitlines()[-2])
98
+ # n_tests = int(test_stats.group(1))
99
+ # n_items = int(test_stats.group(2))-1
100
+ # n_tested = n_items-n_functions_not_returning
101
+ # n_pass = int(test_pass.group(1))
102
+ # if n_functions == 0:
103
+ # return False, "je programma moet functies gebruiken (of type hints ontbreken!)"
104
+ # elif n_tested == 0:
105
+ # # geen testbare functies blijkbaar?
106
+ # return True
107
+ # elif n_tested > 0 and n_tests // n_tested < 2:
108
+ # return False, f"{n_tests} voorbeelden bij {n_tested} testbare functies is niet genoeg \n (we tellen alleen functies die iets returnen)"
109
+ # elif n_pass < n_tests:
110
+ # return False, f"{n_pass} van {n_tests} voorbeelden slagen"
111
111
return True
112
112
113
113
test .test = testMethod
0 commit comments