diff options
Diffstat (limited to 'monkey/test.py')
-rwxr-xr-x | monkey/test.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/monkey/test.py b/monkey/test.py index 17c27fe..cf67723 100755 --- a/monkey/test.py +++ b/monkey/test.py @@ -9,7 +9,7 @@ from termcolor import colored from .edits import classify_edits, trace_graph from .graph import graphviz -from .monkey import fix +from .monkey import fix, fix_hints from prolog.engine import test from prolog.util import annotate, compose, stringify from .util import indent @@ -53,12 +53,15 @@ try: except: done = [] -def print_hint(solution, steps, fix_time, n_tested): +def print_hint(code, solution, steps, fix_time, n_tested): if solution: print(colored('Hint found! Tested {} programs in {:.1f} s.'.format(n_tested, fix_time), 'green')) print(colored(' Edits', 'blue')) for step_type, pos, a, b in steps: print(' {}: {} {} → {}'.format(pos, step_type, stringify(a), stringify(b))) + print(colored(' Hints', 'blue')) + for (start, end), msg in fix_hints(code, steps): + print(' {}-{}: {}'.format(start, end, msg)) print(colored(' Final version', 'blue')) print(indent(compose(annotate(solution)), 2)) else: @@ -80,7 +83,7 @@ if len(sys.argv) >= 3 and sys.argv[2] == 'test': solution, steps, fix_time, n_tested = fix(problem.name, program, edits, aux_code=aux_code, timeout=timeout) if solution: done.append(program) - print_hint(solution, steps, fix_time, n_tested) + print_hint(program, solution, steps, fix_time, n_tested) print() pickle.dump(done, open('status-'+str(problem.pk)+'.pickle', 'wb')) @@ -172,4 +175,4 @@ else: # Try finding a fix. print(colored('Analyzing program…', 'yellow')) solution, steps, fix_time, n_tested = fix(problem.name, code, edits, aux_code=aux_code, debug=True) - print_hint(solution, steps, fix_time, n_tested) + print_hint(code, solution, steps, fix_time, n_tested) |