131deca46SLouis Dionne#!/usr/bin/env bash 231deca46SLouis Dionne 331deca46SLouis Dionneset -e 431deca46SLouis Dionne 531deca46SLouis DionnePROGNAME="$(basename "${0}")" 631deca46SLouis Dionnefunction usage() { 731deca46SLouis Dionnecat <<EOF 831deca46SLouis DionneUsage: 9*77fc5499SWill Hawkins${PROGNAME} [-h|--help] [-b|--bootstrap] <build-directory> [lit options...] tests... 1031deca46SLouis Dionne 1131deca46SLouis DionneShortcut to build the libc++ testing dependencies and run the libc++ tests with Lit. 1231deca46SLouis Dionne 13*77fc5499SWill Hawkins[-b|--bootstrap] Configure tests to run against a bootstrap build of libcxx. 1431deca46SLouis Dionne<build-directory> The path to the build directory to use for building the library. 1531deca46SLouis Dionne[lit options...] Optional options to pass to 'llvm-lit'. 169fca0313SLouis Dionnetests... Paths of the tests to run. Those paths are relative to '<monorepo-root>'. 1731deca46SLouis Dionne 1831deca46SLouis DionneExample 1931deca46SLouis Dionne======= 2031deca46SLouis Dionne$ cmake -S runtimes -B build/ -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" 2131deca46SLouis Dionne$ libcxx-lit build/ -sv libcxx/test/std/utilities/ 2231deca46SLouis DionneEOF 2331deca46SLouis Dionne} 2431deca46SLouis Dionne 25*77fc5499SWill Hawkinstype="cxx" 26*77fc5499SWill Hawkinsif [[ "${1}" == "-h" || "${1}" == "--help" ]]; then 2731deca46SLouis Dionne usage 2831deca46SLouis Dionne exit 0 2931deca46SLouis Dionnefi 30*77fc5499SWill Hawkins 31*77fc5499SWill Hawkinsif [[ "${1}" == "-b" || "${1}" == "--bootstrap" ]]; then 32*77fc5499SWill Hawkins type="runtimes" 33*77fc5499SWill Hawkins shift 34*77fc5499SWill Hawkinsfi 3531deca46SLouis Dionne 3631deca46SLouis Dionneif [[ $# -lt 1 ]]; then 3731deca46SLouis Dionne usage 3831deca46SLouis Dionne exit 1 3931deca46SLouis Dionnefi 4031deca46SLouis Dionne 4131deca46SLouis Dionnebuild_dir="${1}" 4231deca46SLouis Dionneshift 4331deca46SLouis Dionne 44*77fc5499SWill Hawkinsif [[ "${type}" == "runtimes" ]]; then 45*77fc5499SWill Hawkins echo "N.B.: In a bootstrap build, lit needs a prefix to work correctly;" 46*77fc5499SWill Hawkins echo " See libcxx/docs/Testinglibcxx.rst for more information." 47*77fc5499SWill Hawkinsfi 48*77fc5499SWill Hawkinscmake --build "${build_dir}" --target ${type}-test-depends 4931deca46SLouis Dionne"${build_dir}/bin/llvm-lit" ${@} 50