diff --git a/scripts/grade-02.sh b/scripts/grade-02.sh new file mode 100755 index 0000000..cc6ada1 --- /dev/null +++ b/scripts/grade-02.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +set -e +set -uo pipefail +IFS=$'\n\t' + +# Imports library. +BASEDIR=$(dirname "$0") +source $BASEDIR/grade-utils.sh + +RUNNERS=( + "cargo" + "cargo --release" + "cargo_asan" + "cargo_asan --release" + "cargo_tsan" + "cargo_tsan --release" +) + +# Lints. +cargo fmt --check +cargo clippy + +# Executes test for each runner. +for RUNNER in "${RUNNERS[@]}"; do + echo "Running with $RUNNER..." + + TESTS=("--lib assignment02_grade") + if [ $(run_tests) -ne 0 ]; then + exit 1 + fi +done + +exit 0 diff --git a/src/assignments/assignment02.rs b/src/assignments/assignment02.rs new file mode 100644 index 0000000..d0f8c8d --- /dev/null +++ b/src/assignments/assignment02.rs @@ -0,0 +1,3 @@ +//! Assignment 2: Mastering common programming concepts (1/2). + +// TODO: use exercises in diff --git a/src/assignments/assignment02_grade.rs b/src/assignments/assignment02_grade.rs new file mode 100644 index 0000000..631b61d --- /dev/null +++ b/src/assignments/assignment02_grade.rs @@ -0,0 +1,4 @@ +#[cfg(test)] +mod test { + use super::super::assignment02::*; +}