#!/usr/bin/env bash # set -euo pipefail IFS=$'\n\t' DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" REALPATH=$(command -v uu-realpath || command -v realpath) function main { local test_names=$(get_test_names "${@}") local test while read test; do (cd "$DIR/../" && cargo test --no-default-features --features compare --no-fail-fast --test test_loader "$test" -- --show-output) done<<<"$test_names" } function get_test_names { local test_file local samples_dir=$($REALPATH "$DIR/../org_mode_samples") for test_file in "$@" do if [ -e "$test_file" ]; then local test_file_full_path=$($REALPATH "$test_file") local relative_to_samples=$($REALPATH --relative-to "$samples_dir" "$test_file_full_path") local without_extension="${relative_to_samples%.org}" echo "${without_extension//\//_}" | tr '[:upper:]' '[:lower:]' else echo "$test_file" | tr '[:upper:]' '[:lower:]' fi done } main "${@}"