#!/usr/bin/env bash

set -e

PROGNAME="$(basename "${0}")"
function usage() {
cat <<EOF
Usage:
${PROGNAME} [-h|--help] [-b|--bootstrap] <build-directory> [lit options...] tests...

Shortcut to build the libc++ testing dependencies and run the libc++ tests with Lit.

[-b|--bootstrap]   Configure tests to run against a bootstrap build of libcxx.
<build-directory>  The path to the build directory to use for building the library.
[lit options...]   Optional options to pass to 'llvm-lit'.
tests...           Paths of the tests to run. Those paths are relative to '<monorepo-root>'.

Example
=======
$ cmake -S runtimes -B build/ -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi"
$ libcxx-lit build/ -sv libcxx/test/std/utilities/
EOF
}

type="cxx"
if [[ "${1}" == "-h" || "${1}" == "--help" ]]; then
    usage
    exit 0
fi

if [[ "${1}" == "-b" || "${1}" == "--bootstrap" ]]; then
    type="runtimes"
    shift
fi

if [[ $# -lt 1 ]]; then
    usage
    exit 1
fi

build_dir="${1}"
shift

if [[ "${type}" == "runtimes" ]]; then
        echo "N.B.: In a bootstrap build, lit needs a prefix to work correctly;"
        echo "      See libcxx/docs/Testinglibcxx.rst for more information."
fi
cmake --build "${build_dir}" --target ${type}-test-depends
"${build_dir}/bin/llvm-lit" ${@}
