#!/usr/bin/env bash

failures=()

for dir in tests/*/
do
    dir=${dir%*/}
    example=${dir##*/}
    pushd $dir
    echo "Compiling $example..."
    make_output=`make clean`
    make_output=`make`
    if [[ $? -ne 0 ]]; then
        failures+=("$example")
        echo "Example $example failed"
    fi
    popd
done

for failure in "${failures[@]}"; do
    echo "Example $failure failed"
done

if [[ ${#failures[@]} -eq 0 ]]; then
    echo "All tests passed."
else
    exit 1
fi