diff --git a/tests/smoke/test-smoke.sh b/tests/smoke/test-smoke.sh new file mode 100644 index 0000000..24e4322 --- /dev/null +++ b/tests/smoke/test-smoke.sh @@ -0,0 +1,147 @@ +#!/bin/bash +# +set -e + +############################################################## +# +# Test 1: bmjava +# +############################################################## +test1_dir=$(mktemp -d) +pushd $test1_dir +##### +## The Java program under test (via bmjava) +##### +cat > HelloWait.java < trace1.btm < out1.log +grep -q "argument was: World!" out1.log +grep -q "Hello bar" out1.log +output=$(tail -n1 out1.log) +if [ ! "${output}_" == "Hello bar_" ]; then + echo Test FAILED! + exit 1 +fi + +echo Test 1 PASSED! + +popd +rm -rf $test1_dir + + +############################################################## +# +# Test 2: bminstall + bmsubmit +# +############################################################## +test2_dir=$(mktemp -d) +pushd $test2_dir +##### +## The Java program under test +##### +cat > HelloWait.java < out2.log 2>&1 & +pid_of_java=$$ +echo "Forked java process with pid $pid_of_java" +sleep 2 +##### +## The byteman rule(s) (used via bmsubmit) +##### +cat > change_arg.btm < throw_excptn.btm <