From c0973c98318b57ecdd6c5cd3ca1b2851b094e037 Mon Sep 17 00:00:00 2001
From: an7s <an7s@git.zephyr-software.com>
Date: Wed, 1 Jun 2011 19:04:09 +0000
Subject: [PATCH] ...

---
 tools/p1xform.sh        | 11 +++++++----
 tools/ps_validate.sh    | 36 ++++++++++++++++++++++++++----------
 tools/ps_validate_ss.sh |  2 +-
 3 files changed, 34 insertions(+), 15 deletions(-)

diff --git a/tools/p1xform.sh b/tools/p1xform.sh
index 2e2bf7472..b41489bfb 100755
--- a/tools/p1xform.sh
+++ b/tools/p1xform.sh
@@ -21,7 +21,8 @@ echo "=========================================="
 
 $PEASOUP_HOME/tools/p1xform.genspri.sh $P1_DIR a.ncexe a.ncexe.annot > $P1_DIR/genspri.out 2> $P1_DIR/genspri.err
 
-$PEASOUP_HOME/tools/generate_io_baseline.sh $CURRENT_DIR a.ncexe concolic.files_a.stratafied_0001 > gen_baseline.out 2> gen_baseline.err
+# NOT NEEDED ANYMORE????
+#$PEASOUP_HOME/tools/generate_io_baseline.sh $CURRENT_DIR a.ncexe concolic.files_a.stratafied_0001 > gen_baseline.out 2> gen_baseline.err
 
 #
 # remove any candidate functions not covered
@@ -34,12 +35,14 @@ CANDIDATE_FNS=$P1_DIR/p1.candidates
 FILTERED_OUT=$P1_DIR/p1.fn_coverage.filtered_out
 KEEPS=$P1_DIR/p1.keep
 FINAL_XFORM_FNS=$P1_DIR/p1.final
+EXECUTED_ADDRESS_FILE=$CONCOLIC/executed_address_list.txt
 
-grep "^0x" $CONCOLIC/trace_manager.run_*.log | cut -f2 -d":" | sort | uniq > tmp.$$ 
-$STRATA_REWRITE/tools/cover/cover a.ncexe a.ncexe.annot tmp.$$ $COVERAGE_FNS
+#grep "^0x" $CONCOLIC/trace_manager.run_*.log | cut -f2 -d":" | sort | uniq > tmp.$$ 
+#$STRATA_REWRITE/tools/cover/cover a.ncexe a.ncexe.annot tmp.$$ $COVERAGE_FNS
+$STRATA_REWRITE/tools/cover/cover a.ncexe a.ncexe.annot $EXECUTED_ADDRESS_FILE $COVERAGE_FNS
 grep -v "0\.0" $COVERAGE_FNS | cut -f1 -d" " > $CANDIDATE_FNS
 grep  "0\.0" $COVERAGE_FNS | cut -f1 -d" " > $FILTERED_OUT
-rm tmp.$$
+#rm tmp.$$
 
 cp $CANDIDATE_FNS $KEEPS
 
diff --git a/tools/ps_validate.sh b/tools/ps_validate.sh
index f8d5e0911..ce6d0a326 100755
--- a/tools/ps_validate.sh
+++ b/tools/ps_validate.sh
@@ -7,9 +7,9 @@
 #
 
 STRATAFIED_BINARY=$1        # stratafied subject program
-BSPRI=$2                    # transformation specificiation SPRI file
+BSPRI=$2                    # transformation specification SPRI file
 INPUT_DIR=$3                # directory containing inputs
-BASELINE_OUTPUT_DIR=$4      # directory containing expected outputs
+BASELINE_OUTPUT_DIR=$INPUT_DIR/file_input
 
 echo "=========================================="
 echo "Running ps_validate.sh"
@@ -19,21 +19,37 @@ echo "             INPUT_DIR: $INPUT_DIR"
 echo "   BASELINE_OUTPUT_DIR: $BASELINE_OUTPUT_DIR"
 echo "=========================================="
 
+#
+# name of files describing inputs is of the form: input_0001.json, input_0002.json, ...
+#
+
 for i in `ls $INPUT_DIR/input*.json`
 do
   echo ""
   input=`basename $i .json`
+  input_number=`echo $input | sed "s/input_//"`
+
+  # make sure the output files exist
+  touch stdout.$input
+  touch stderr.$input
+
   echo "ps_validate.sh: cmd: STRATA_SPRI_FILE=$BSPRI $GRACE_HOME/concolic/bin/replayer --symbols=a.sym --stdout=stdout.$input --stderr=stderr.$input --engine=sdt ./a.stratafied $i"
     STRATA_SPRI_FILE="$BSPRI" "$GRACE_HOME/concolic/bin/replayer" --symbols=a.sym --stdout=stdout.$input --stderr=stderr.$input --engine=sdt $STRATAFIED_BINARY $i
 
-  if [ -f replay.baseline/stdout.$input ];
+  BASELINE_OUTPUT_STDOUT=$BASELINE_OUTPUT_DIR/run_$input_number/stdout
+  BASELINE_OUTPUT_STDERR=$BASELINE_OUTPUT_DIR/run_$input_number/stderr
+
+  echo "$BASELINE_OUTPUT_STDOUT"
+  echo "$BASELINE_OUTPUT_STDERR"
+  
+  if [ -f $BASELINE_OUTPUT_STDOUT ];
   then
-    diff replay.baseline/stdout.$input stdout.$input
+    diff stdout.$input $BASELINE_OUTPUT_STDOUT
     if [ ! $? -eq 0 ]; then
-      echo "ps_validate.sh: divergence detected for input $i (stdout)"
+      echo "ps_validate.sh: divergence detected for input: $i (stdout)"
 
       echo "Baseline file (stdout):"
-      cat replay.baseline/stdout.$input
+      cat $BASELINE_OUTPUT_STDOUT
 
       echo "Output stdout (stdout):$input:"
       cat stdout.$input
@@ -42,14 +58,14 @@ do
     fi
   fi
 
-  if [ -f replay.baseline/stderr.$input ];
+  if [ -f $BASELINE_OUTPUT_STDERR ];
   then
-    diff replay.baseline/stderr.$input stderr.$input
+    diff stderr.$input $BASELINE_OUTPUT_STDERR
     if [ ! $? -eq 0 ]; then
-      echo "ps_validate.sh: divergence detected for input $i (stderr)"
+      echo "ps_validate.sh: divergence detected for input: $i (stderr)"
 
       echo "Baseline file (stderr):"
-      cat replay.baseline/stderr.$input
+      cat $BASELINE_OUTPUT_STDERR
 
       echo "Output stderr (stderr):$input:"
       cat stderr.$input
diff --git a/tools/ps_validate_ss.sh b/tools/ps_validate_ss.sh
index 3f68fdc40..26bec1802 100755
--- a/tools/ps_validate_ss.sh
+++ b/tools/ps_validate_ss.sh
@@ -25,6 +25,6 @@ STRATA_VAL=$?
 if [ "$ORIG_VAL" = "$STRATA_VAL" ]; then
   exit 0
 else
-  echo "ps_validate_ss.sh: BSPRI=$BSPRI: does not validate ($ORIG_VAL/$STRATA_VAL)" 
+  echo "ps_validate_ss.sh: BSPRI=$BSPRI: does not validate: exit codes: ($ORIG_VAL/$STRATA_VAL)" 
   exit 1
 fi
-- 
GitLab