[][src]Crate lab_grader

A criterion runner

For complete examples, see the examples directory on Github.

Re-exports

pub use helpers::web;
pub use helpers::fs;
pub use helpers::cli;
pub use submission::Submission;
pub use submission::TestData;
pub use criterion::Criterion;
pub use results_file::AsCsv;
pub use criteria::Criteria;
pub use batch::Batch;

Modules

batch

A batch of criteria, with some extra metadata

criteria

A collection of Criterion

criterion

Definitions for creating and running criteria

criterion_builder
helpers

Functions for common tasks in criteria

results_file
submission

A bundle of data that criteria are graded against, and is submitted for review

Macros

data

A macro to easily create a TestData struct, which is really just an alias to HashMap<String, String>

prompt

Calls prompt, then tries to parse the input into the provided type. If parsing fails, it will print an error message and then quit the current process.

yaml

This is an important macro. It reads data from a file using the include_bytes! macro. When compiling for debug, this will read from the filesystem. When compiling for release, this will embed the data in the executable. Graders built using this crate need to have the data embedded in the executable to make it easier to distribute and to keep the data private.