From f30b99bbe48af6d2f5c01062cbff86f70f497805 Mon Sep 17 00:00:00 2001 From: Jason Hiser <jdhiser@gmail.com> Date: Fri, 30 Nov 2018 17:31:34 +0000 Subject: [PATCH] changed test_cmds to support input of arbitrary path to binary for a test, also bzip2 test improvements Former-commit-id: aa21520c9d4a00d237ef71282d7e022d146c80d8 --- tests/bzip2/test_script.sh | 23 +++++---- tests/test_cmds.sh | 99 ++++++++++++++++++++++++++++++++++++-- 2 files changed, 108 insertions(+), 14 deletions(-) diff --git a/tests/bzip2/test_script.sh b/tests/bzip2/test_script.sh index bf756f88c..a45cbde63 100755 --- a/tests/bzip2/test_script.sh +++ b/tests/bzip2/test_script.sh @@ -55,16 +55,19 @@ run_bench_prog_only 120 -k $DATA_DIR/compression_input1_orig #sure it does exist before doing any comparisons. I check the bench's output #file because it is possible for the test to fail to produce an output for #different reasons. -if [[ -z "$IGNORE_RESULTS" ]] && [[ -f $DATA_DIR/compression_input1_orig.bz2 ]]; then - - compare_std_results - - diff $DATA_DIR/compression_input1_test.bz2 $DATA_DIR/compression_input1_orig.bz2 - status=$? - if [ ! "$status" -eq 0 ]; then - echo "Exit Status Failure" +if [[ -z "$IGNORE_RESULTS" ]] ; then + if [[ -f $DATA_DIR/compression_input1_orig.bz2 ]]; then + compare_std_results + + diff $DATA_DIR/compression_input1_test.bz2 $DATA_DIR/compression_input1_orig.bz2 + status=$? + if [ ! "$status" -eq 0 ]; then + echo "Exit Status Failure" + report_failure + fi + else report_failure - fi + fi fi cleanup -report_success \ No newline at end of file +report_success diff --git a/tests/test_cmds.sh b/tests/test_cmds.sh index f8d4d4ae0..834716ddf 100755 --- a/tests/test_cmds.sh +++ b/tests/test_cmds.sh @@ -3,6 +3,7 @@ show_logs_on_failure=0 had_fails=0 apps="" +declare -A app_paths default_apps="bzip2 grep du ncal ls objdump readelf sort tar touch tcpdump" configs="" default_configs="rida" @@ -50,15 +51,14 @@ do_tests() fi - progpath=$(which $prog) + progpath="${app_path[$prog]}" if [ "$progpath" = "" ]; then echo "TEST: Original binary ($prog) not found: skipping..." continue fi + progpath=$(realpath $progpath) + echo "TEST ($config) ${prog}=${progpath}: Protecting..." - echo "TEST ($config) ${prog}: Protecting..." - - progpath=$(readlink -f $progpath) case $config in zafl) @@ -162,6 +162,74 @@ do_tests() ibtl_p1) $PSZ $progpath $protected --backend strata --step ibtl=on --step ilr=on --step pc_confine=on --step p1transform=on --tempdir $temp_dir > test_${prog}.ps.log 2>&1 ;; + mvp1v1) + $VGT -i $progpath -c mvp1 -o $temp_dir > test_${prog}.ps.log 2>&1 + cp $temp_dir/vs-1/variant-1/bin/$(basename $progpath) $protected + ;; + mvp1v2) + $VGT -i $progpath -c mvp1 -o $temp_dir > test_${prog}.ps.log 2>&1 + cp $temp_dir/vs-1/variant-2/bin/$(basename $progpath) $protected + ;; + mvp2v1) + $VGT -i $progpath -c mvp2 -o $temp_dir > test_${prog}.ps.log 2>&1 + cp $temp_dir/vs-1/variant-1/bin/$(basename $progpath) $protected + ;; + mvp2v2) + $VGT -i $progpath -c mvp2 -o $temp_dir > test_${prog}.ps.log 2>&1 + cp $temp_dir/vs-1/variant-2/bin/$(basename $progpath) $protected + ;; + mvp3v1) + $VGT -i $progpath -c mvp3 -o $temp_dir > test_${prog}.ps.log 2>&1 + cp $temp_dir/vs-1/variant-1/bin/$(basename $progpath) $protected + ;; + mvp3v2) + $VGT -i $progpath -c mvp3 -o $temp_dir > test_${prog}.ps.log 2>&1 + cp $temp_dir/vs-1/variant-2/bin/$(basename $progpath) $protected + ;; + mvp3v3) + $VGT -i $progpath -c mvp3 -o $temp_dir > test_${prog}.ps.log 2>&1 + cp $temp_dir/vs-1/variant-3/bin/$(basename $progpath) $protected + ;; + mvp4v1) + $VGT -i $progpath -c mvp4 -o $temp_dir > test_${prog}.ps.log 2>&1 + cp $temp_dir/vs-1/variant-1/bin/$(basename $progpath) $protected + ;; + mvp4v2) + $VGT -i $progpath -c mvp4 -o $temp_dir > test_${prog}.ps.log 2>&1 + cp $temp_dir/vs-1/variant-2/bin/$(basename $progpath) $protected + ;; + mvp4v3) + $VGT -i $progpath -c mvp4 -o $temp_dir > test_${prog}.ps.log 2>&1 + cp $temp_dir/vs-1/variant-3/bin/$(basename $progpath) $protected + ;; + mvpAv1) + $VGT -i $progpath -c mvpA -o $temp_dir > test_${prog}.ps.log 2>&1 + cp $temp_dir/vs-1/variant-1/bin/$(basename $progpath) $protected + ;; + mvpAv2) + $VGT -i $progpath -c mvpA -o $temp_dir > test_${prog}.ps.log 2>&1 + cp $temp_dir/vs-1/variant-2/bin/$(basename $progpath) $protected + ;; + mvpBv1) + $VGT -i $progpath -c mvpB -o $temp_dir > test_${prog}.ps.log 2>&1 + cp $temp_dir/vs-1/variant-1/bin/$(basename $progpath) $protected + ;; + mvpBv2) + $VGT -i $progpath -c mvpB -o $temp_dir > test_${prog}.ps.log 2>&1 + cp $temp_dir/vs-1/variant-2/bin/$(basename $progpath) $protected + ;; + mvpCv1) + $VGT -i $progpath -c mvpC -o $temp_dir > test_${prog}.ps.log 2>&1 + cp $temp_dir/vs-1/variant-1/bin/$(basename $progpath) $protected + ;; + mvpCv2) + $VGT -i $progpath -c mvpC -o $temp_dir > test_${prog}.ps.log 2>&1 + cp $temp_dir/vs-1/variant-2/bin/$(basename $progpath) $protected + ;; + mvpCv3) + $VGT -i $progpath -c mvpC -o $temp_dir > test_${prog}.ps.log 2>&1 + cp $temp_dir/vs-1/variant-3/bin/$(basename $progpath) $protected + ;; orig) cp $progpath $protected ;; @@ -315,9 +383,32 @@ parse_args() } + +process_apps() +{ + local new_apps="" + local fields=() + for i in $apps + do + IFS="=" read -ra fields <<< $i + if [[ ${#fields[@]} -gt 2 ]]; then + echo "Cannot separate $i into 2 fields based on delimiter '='" + exit 1 + elif [[ ${#fields[@]} -eq 2 ]]; then + app_path[${fields[0]}]=${fields[1]} + elif [[ ${#fields[@]} -eq 1 ]]; then + app_path[${fields[0]}]=$(which ${fields[0]}) + fi + + new_apps="$new_apps ${fields[0]}" + done + apps="$new_apps" +} + main() { parse_args "$@" + process_apps echo echo "test configuration" -- GitLab