c3b416c492
VPP requires bash for all shell scripts. Align shebang lines in build and test scripts to look up the location of bash rather than hard coding '/bin/bash'. Look up the location of bash for makefiles. Type: improvement Change-Id: I23b705d81d60389fa8af61c680cf0abd74f0ea24 Signed-off-by: Tom Jones <thj@freebsd.org>
72 lines
1.4 KiB
Bash
Executable File
72 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
ff="0"
|
|
items=
|
|
for i in "$@"
|
|
do
|
|
case $i in
|
|
--venv-dir=*)
|
|
venv_dir="${i#*=}"
|
|
if [ -d $venv_dir ]
|
|
then
|
|
venv_dir=$(cd $venv_dir; pwd)
|
|
else
|
|
echo "ERROR: '$venv_dir' is not a directory"
|
|
exit 1
|
|
fi
|
|
items="$items --venv-dir=\"$venv_dir\""
|
|
;;
|
|
--vpp-ws-dir=*)
|
|
ws_dir="${i#*=}"
|
|
if [ -d $ws_dir ]
|
|
then
|
|
ws_dir=$(cd $ws_dir; pwd)
|
|
else
|
|
echo "ERROR: '$ws_dir' is not a directory"
|
|
exit 1
|
|
fi
|
|
items="$items --vpp-ws-dir=\"$ws_dir\""
|
|
;;
|
|
--force-foreground)
|
|
ff="1"
|
|
items="$items \"$i\""
|
|
;;
|
|
--vpp-tag=*)
|
|
tag="${i#*=}"
|
|
items="$items \"$i\""
|
|
;;
|
|
--python-opts=*)
|
|
python_opts="${i#*=}"
|
|
;;
|
|
*)
|
|
# unknown option - skip
|
|
items="$items \"$i\""
|
|
;;
|
|
esac
|
|
done
|
|
|
|
extra_args=""
|
|
if [ -z "$ws_dir" ]
|
|
then
|
|
ws_dir=$(pwd)
|
|
echo "Argument --vpp-ws-dir not specified, defaulting to '$ws_dir'"
|
|
extra_args="$extra_args --vpp-ws-dir=$ws_dir"
|
|
fi
|
|
|
|
if [ -z "$venv_dir" ]
|
|
then
|
|
venv_dir="$ws_dir/build-root/test/venv"
|
|
echo "Argument --venv-path not specified, defaulting to '$venv_dir'"
|
|
extra_args="$extra_args --venv-dir=$venv_dir"
|
|
fi
|
|
|
|
if [ -z "$tag" ]
|
|
then
|
|
tag="vpp_debug"
|
|
echo "Argument --vpp-tag not specified, defaulting to '$tag'"
|
|
extra_args="$extra_args --vpp-tag=$tag"
|
|
fi
|
|
|
|
eval set -- $items
|
|
$ws_dir/test/scripts/setsid_wrapper.sh $ws_dir/test/scripts/run_in_venv_with_cleanup.sh $ff $venv_dir/bin/activate python3 $python_opts $ws_dir/test/run_tests.py $extra_args $*
|