#!/bin/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 $*
