diff --git a/api/server/graph.cc b/api/server/graph.cc index b064fd2c9..74d416b58 100644 --- a/api/server/graph.cc +++ b/api/server/graph.cc @@ -823,11 +823,7 @@ bool Graph::NicAdd(app::Nic *nic_) { } BrickShrPtr head1 = vni.nics.begin()->second.head; - if (pg_brick_unlink_edge(vtep_.get(), head1.get(), - &app::pg_error) < 0) { - PG_ERROR_(app::pg_error); - return false; - } + unlink_edge(vtep_, head1); link(vtep_, vni.sw); add_vni(vtep_, vni.sw, nic.vni); link(vni.sw, head1); diff --git a/scripts/tests_all.sh b/scripts/tests_all.sh index e4459de45..c822d4101 100755 --- a/scripts/tests_all.sh +++ b/scripts/tests_all.sh @@ -37,7 +37,7 @@ fi sleep 1 # Crypto test -$BUTTERFLY_ROOT/scripts/tests_crypto.sh $BUTTERFLY_BUILD_ROOT/build +$BUTTERFLY_ROOT/scripts/tests_crypto.sh $BUTTERFLY_BUILD_ROOT if [ $? != 0 ]; then tput setaf 1 echo "crypto test failed" diff --git a/scripts/tests_crypto.sh b/scripts/tests_crypto.sh index 2d2b9e1ce..535dafacb 100755 --- a/scripts/tests_crypto.sh +++ b/scripts/tests_crypto.sh @@ -3,7 +3,7 @@ BT_BUILD=$1 cd $BT_BUILD -g++ -std=c++11 -lcrypto -DUNIT_TESTS -I../ ../api/common/crypto.cc -o crypto +g++ ../api/common/crypto.cc -std=c++11 -lcrypto -DUNIT_TESTS -I ../ -o crypto ./crypto RET=$? rm crypto diff --git a/tests/functions.sh b/tests/functions.sh index 3ef990b4e..9f15b9cae 100755 --- a/tests/functions.sh +++ b/tests/functions.sh @@ -12,7 +12,6 @@ function usage { echo " -h, --help : print this help" 1>&2 } -declare -A qemu_pids declare -A server_pids declare -A socat_pids @@ -664,8 +663,6 @@ function qemu_start { if [ $? -ne 0 ]; then fail "failed to start qemu, check qemu_${id}_output file" fi - qemu_pids["$id"]=$pid - # Wait for ssh to be ready ssh_run_timeout $id 60 true if [ $? -ne 0 ]; then @@ -724,16 +721,24 @@ function qemu_stop { echo "[VM $id] trying to kill nicely" ssh_run $id poweroff sleep 1 + ret_check=0 + sudo kill -s 0 "$(cat $BUTTERFLY_BUILD_ROOT/qemu_pids$id)" &> /dev/null; + ret_check=$? + echo "[VM $id] stopping (pid $(cat $BUTTERFLY_BUILD_ROOT/qemu_pids$id))" + if [ "$ret_check" -eq 0 ] ; then + sudo kill -15 "$(cat $BUTTERFLY_BUILD_ROOT/qemu_pids$id)" &>/dev/null; + sleep 1 + sudo kill -s 0 "$(cat $BUTTERFLY_BUILD_ROOT/qemu_pids$id)" &> /dev/null; + ret_check=$? + if [ "$ret_check" != "1" ]; then + for i in {1..3}; do + sleep 0.1 + sudo pkill -9 -f ::500$id &> /dev/null; + sudo kill -s 9 "$(cat $BUTTERFLY_BUILD_ROOT/qemu_pids$id)" &> /dev/null; + done + fi + fi rm -f $BUTTERFLY_BUILD_ROOT/qemu_pids$id - sudo kill -s 0 ${qemu_pids[$id]} &> /dev/null ; - echo "[VM $id] stopping (pid ${qemu_pids[$id]})" - sudo kill -15 $(ps --ppid ${qemu_pids[$id]} -o pid=) &> /dev/null - sleep 1 - sudo kill -9 $(ps --ppid ${qemu_pids[$id]} -o pid=) &> /dev/null - while sudo kill -s 0 ${qemu_pids[$id]} &> /dev/null ; do - sleep 0.1 - done - sleep 1 } function qemus_stop { @@ -809,10 +814,15 @@ function do_kill { should_do=$1 signal=$2 - if [ $should_skip -ne 0 ]; then + if [ "$should_do" != "0" ]; then sudo kill $signal $(ps --ppid ${server_pids[$id]} -o pid=) &> /dev/null sleep 0.2 sudo kill -s 0 ${server_pids[$id]} &> /dev/null + if [ "$?" != "1" ]; then + sudo kill -9 $(ps --ppid ${server_pids[$id]} -o pid=) &> /dev/null + sleep 0.2 + fi + sudo kill -s 0 ${server_pids[$id]} &> /dev/null return $? fi return 0 @@ -821,16 +831,15 @@ function do_kill { function server_stop { id=$1 echo "[butterfly-$id] stopping" - ret=do_kill 1 -2 - ret=do_kill $ret -2 - ret=do_kill $ret -2 - ret=do_kill $ret -15 - ret=do_kill $ret -15 - while sudo kill -s 0 ${server_pids[$id]} &> /dev/null ; do - sudo kill -9 $(ps --ppid ${server_pids[$id]} -o pid=) &> /dev/null - sleep 0.1 - done - sleep 1 + sudo kill -15 $(ps --ppid ${server_pids[$id]} -o pid=) &> /dev/null + sleep 0.2 + sudo kill -s 0 ${server_pids[$id]} &> /dev/null + if [ "$?" != "1" ]; then + for t in {1..3}; do + sudo pkill -9 -f but$id &> /dev/null + sleep 0.1 + done + fi } function server_start_ipv4 { @@ -1468,7 +1477,7 @@ function sg_member_del { function check_bin { run=${@:1} $run &> /dev/null - if [ ! "$?" == "0" ]; then + if [ "$?" != "0" ]; then echo "cannot execute $run: not found" exit 1 fi @@ -1530,7 +1539,7 @@ check_bin killall -l check_bin pkill -h check_bin nc -h check_bin wget -h -check_bin netstat -h +check_bin netstat -l check_bin ncat -h clean_all