mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
68 lines
1.5 KiB
Bash
Executable File
68 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
REPO_ROOT="$(dirname "$0")"/..
|
|
USE_DEBUGGER=0
|
|
DEBUGGER="gdb --args"
|
|
BOOST_OPTIONS=
|
|
SOLTEST_OPTIONS=
|
|
SOLIDITY_BUILD_DIR=${SOLIDITY_BUILD_DIR:-${REPO_ROOT}/build}
|
|
|
|
usage() {
|
|
echo 2>&1 "
|
|
Usage: $0 [options] [soltest-options]
|
|
Runs BOOST C++ unit test program, soltest.
|
|
|
|
Options:
|
|
--debug soltest invocation prefaced with: \"$DEBUGGER\"
|
|
--debugger *dbg-cmd* soltest prefaced with your own debugger command.
|
|
--run_test | -t *name* filters test unit(s) to include or exclude from test.
|
|
This option can be given several times.
|
|
--boost-options *x* Set BOOST option *x*.
|
|
--show-progress | -p Set BOOST option --show-progress.
|
|
|
|
Important environment variables:
|
|
|
|
SOLIDITY_BUILD_DIR: Sets directory where test/soltest should be found.
|
|
The default is \"${SOLIDITY_BUILD_DIR}\".
|
|
"
|
|
}
|
|
|
|
while [ $# -gt 0 ]
|
|
do
|
|
case "$1" in
|
|
--debugger)
|
|
shift
|
|
DEBUGGER="$1"
|
|
USE_DEBUGGER=1
|
|
;;
|
|
--debug)
|
|
USE_DEBUGGER=1
|
|
;;
|
|
--boost-options)
|
|
shift
|
|
BOOST_OPTIONS="${BOOST_OPTIONS} $1"
|
|
;;
|
|
--help)
|
|
usage
|
|
exit 0
|
|
;;
|
|
--run_test | -t )
|
|
shift
|
|
BOOST_OPTIONS="${BOOST_OPTIONS} -t $1"
|
|
;;
|
|
--show-progress | -p)
|
|
BOOST_OPTIONS="${BOOST_OPTIONS} $1"
|
|
;;
|
|
*)
|
|
SOLTEST_OPTIONS="${SOLTEST_OPTIONS} $1"
|
|
;;
|
|
esac
|
|
shift
|
|
done
|
|
if [ "$USE_DEBUGGER" -ne "0" ]; then
|
|
DEBUG_PREFIX=${DEBUGGER}
|
|
fi
|
|
|
|
exec ${DEBUG_PREFIX} ${SOLIDITY_BUILD_DIR}/test/soltest ${BOOST_OPTIONS} -- --testpath ${REPO_ROOT}/test ${SOLTEST_OPTIONS}
|