0bd24c269d
Change-Id: Ia710b8f394e9446f0da83221e314d73d2edcfb08
64 lines
1.7 KiB
Bash
Executable File
64 lines
1.7 KiB
Bash
Executable File
#!/bin/sh
|
|
# Use a shell script to launch tools/debub_venv.py so that we can enter a
|
|
# virtual environment if we are not already in one
|
|
|
|
for option;do
|
|
if test -n "$prev";then
|
|
eval $prev=\$option
|
|
prev=
|
|
continue
|
|
fi
|
|
case $option in
|
|
-v)
|
|
if [ -n "$VIRTUAL_ENV" ]; then
|
|
echo "Already in a virtual environment" 1>&2
|
|
exit 1
|
|
fi
|
|
prev=venv ;;
|
|
-o)
|
|
prev=ovsvenv ;;
|
|
-h|--help)
|
|
cat << EOF
|
|
debug_venv: debug a test OVS virtual environment
|
|
usage: debug_venv [-v virtualenv] [-o ovsvenv | test_regex]"
|
|
|
|
Options:
|
|
-v The Python virtualenv to enter (defaults to 'functional')
|
|
-o The OVS virtual environment directory (precludes test_regex)
|
|
test_regex An optionsal regular expression matching the test name to debug
|
|
EOF
|
|
exit ;;
|
|
*)
|
|
if test -z "$regex";then
|
|
regex=$option
|
|
else
|
|
echo "Only one regex" 1>&2
|
|
exit 1
|
|
fi
|
|
esac
|
|
done
|
|
|
|
if [ -z "$regex" -a -z "$ovsvenv" ]; then
|
|
echo "Need regex or ovsvenv" 1>&2
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z "$VIRTUAL_ENV" ]; then
|
|
. .tox/${venv:-functional}/bin/activate
|
|
trap deactivate EXIT
|
|
fi
|
|
|
|
if [ -n "$regex" -a -z "$ovsvenv" ]; then
|
|
# Just do the first match for now
|
|
lookup=$(grep $regex $VIRTUAL_ENV/ovsvenv.*|head -1)
|
|
if [ -z "$lookup" ]; then
|
|
echo "Could not match $regex" 1>&2
|
|
exit 1
|
|
fi
|
|
test_file=$(echo $lookup|cut -d: -f1)
|
|
test_match=", matched $(echo $lookup|rev|cut -d: -f1|rev)"
|
|
ovsvenv=$(head -1 $test_file)
|
|
fi
|
|
echo "Debugging OVS virtual environment: $ovsvenv$test_match"
|
|
tools/debug_venv.py $ovsvenv $VIRTUAL_ENV/src/ovs $VIRTUAL_ENV/src/ovn
|