CodeRunner Documentation (V2.4.2)
10 Customising the result table
The output from the standard graders is a list of so-called TestResult objects, each with the following fields (which include the actual test case data):
testcode // The test that was run (trimmed, snipped) iscorrect // True iff test passed fully (100%) expected // Expected output (trimmed, snipped) mark // The max mark awardable for this test awarded // The mark actually awarded. got // What the student's code gave (trimmed, snipped) stdin // The standard input data (trimmed, snipped) extra // Extra data for use by some templates
A field called result_columns in the question authoring form can be used to control which of these fields are used, how the columns are headed and how the data from the field is formatted into the result table.
By default the result table displays the testcode, stdin, expected and got columns, provided the columns are not empty. Empty columns are dropped from the table. You can change the default, and/or the column headers by entering a value for result_columns (leave blank for the default behaviour). If supplied, the result_columns field must be a JSON-encoded list of column specifiers.
Each column specifier is itself a list,
typically with just two or three elements. The first element is the
column header, the second element is the field from the TestResult
object being displayed in the column (one of those values listed above) and the optional third
element is an sprintf format string used to display the field.
Custom-grader templates may add their
own fields, which can also be selected for display. It is also possible
to combine multiple fields into a column by adding extra fields to the
specifier: these must precede the sprintf format specifier, which then
becomes mandatory. For example, to display a Mark Fraction column in the
0.74 out of 1.00, a column format specifier of
["Mark Fraction", "awarded",
"mark", "%.2f out of %.2f"] could be used. As a further special case, a format
%h means that the test result field should be taken as ready-to-output
HTML and should not be subject to further processing; this is usually useful
only with custom-grader templates that generate HTML output, such as
SVG graphics, but we have also used it in questions where the output from
the student's program was HTML.
The default value of result_columns is
["Input", "stdin"], ["Expected", "expected"], ["Got", "got"]].