summaryrefslogtreecommitdiff
path: root/monkey/test.py
AgeCommit message (Collapse)Author
2015-12-23Prolog: pass aux. code to problem's test functionTimotej Lazar
This allows us to simplify individual problem test functions.
2015-12-21Fix printing edits in monkey.testTimotej Lazar
2015-12-11Use a more general method for extracting editsTimotej Lazar
This is a large overhaul of monkey code. Before, only edits within individual lines were tracked, which required a Prolog-specific method for splitting a program into a list of lines for every rule. In this version, modifications can be tracked within arbitrary code ranges. Ranges to be tracked are determined by selecting "interesting" subtrees in the AST of the starting code version. The new method is simpler, less language-dependent and easier to extend. The downside is that a program must be syntactically correct before we can attempt to fix it (the previous approach could handle programs with syntax errors in some cases). This commit also integrates a call to monkey.fix in prolog_session.hint, by running it if no other hint is found.
2015-12-10Remove trace-graph function from monkey.testTimotej Lazar
2015-12-10Add copyright infoTimotej Lazar
2015-10-15Store identifiers instead of IDs in Problem modelTimotej Lazar
2015-10-13Move monkey/monkey.py to monkey/__init__.pyTimotej Lazar
2015-09-24Update monkey.test.test for new testing functionsTimotej Lazar
2015-09-02Update monkey.test to work with new DBTimotej Lazar
2015-08-24Remove in-edges from monkey.graph.Node classTimotej Lazar
2015-08-11Add code to check for typosMehmet Akalın
2015-08-11Fix monkey.test.print_hintTimotej Lazar
2015-08-11Remove app-specific code from prolog.engineTimotej Lazar
2015-08-11Ignore attempts from all non-student usersTimotej Lazar
2015-08-11Reorder cases in monkey.test and fix print_hintTimotej Lazar
2015-08-11Move hint message generation to a new functionTimotej Lazar
2015-08-11Annotate tokens instead of splitting programTimotej Lazar
Instead of splitting the program by line numbers, do limited parsing (enough to distinguish , in "memb(X,Y)" from , in "a :- b, c."). Each token in the parsed program is annotated with rule and part number. Rewrite monkey.fix.step to take program as a sequence of annotated tokens instead of lists of lines and rules. Improve message passing to website.
2015-08-11Exclude admin and test users when analyzing tracesTimotej Lazar
2015-08-11Don't store solution-line frequenciesTimotej Lazar
This is currently unused.
2015-08-11monkey.fix.step: apply all edits in line orderTimotej Lazar
For instance, don't add a new rule at line 1 after changing line 3 - only the ordered sequence of edits will be checked.
2015-08-11Remove unused imports in monkey.testTimotej Lazar
2015-08-11Rename monkey.edits.edit_graph to trace_graphTimotej Lazar
2015-08-11CleanupsTimotej Lazar
2015-08-11Minor fixes in monkey.testTimotej Lazar
2015-08-11Small cleanupsTimotej Lazar
2015-08-11Move monkey.prolog to root moduleTimotej Lazar
2015-08-11Initial error marking supportTimotej Lazar
Some cleanups in monkey.monkey. Need better namespacing. Basic postprocessing (merge edits to same line).
2015-08-11Pass auxiliary code to fix in monkey.testTimotej Lazar
2015-08-11Move get_aux_code to tutor/models.pyTimotej Lazar
2015-08-11Move testing code from monkey.py to test.pyTimotej Lazar
Drop monkey/db.py and use Django models instead.