aboutsummaryrefslogtreecommitdiff
path: root/binary_search_tool/full_bisect_test/run-test-nowrapper.sh
diff options
context:
space:
mode:
Diffstat (limited to 'binary_search_tool/full_bisect_test/run-test-nowrapper.sh')
-rwxr-xr-xbinary_search_tool/full_bisect_test/run-test-nowrapper.sh68
1 files changed, 68 insertions, 0 deletions
diff --git a/binary_search_tool/full_bisect_test/run-test-nowrapper.sh b/binary_search_tool/full_bisect_test/run-test-nowrapper.sh
new file mode 100755
index 00000000..afc4a446
--- /dev/null
+++ b/binary_search_tool/full_bisect_test/run-test-nowrapper.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+#
+# This script is one of the two main driver scripts for testing the bisector.
+# It should be used to test the bisection tool, if you do NOT want to test
+# the compiler wrapper (e.g. don't bother with POPULATE_GOOD & POPULATE_BAD
+# stages).
+#
+# It makes sure the good & bad object directories exist (soft links); checks
+# to see if it needs to compile the good & bad sources & populate the
+# directories; does so if needed.
+#
+# Then it calls main-bisect-test, which runs the actual bisection tests. This
+# script assumes it is being run from the parent directory.
+#
+# NOTE: Your PYTHONPATH environment variable needs to include both the
+# toolchain-utils directory and the
+# toolchain-utils/binary_search_tool directory for these testers to work.
+#
+
+SAVE_DIR=`pwd`
+
+DIR=full_bisect_test
+
+if [[ ! -d "${DIR}" ]] ; then
+ echo "Cannot find ${DIR}; you are running this script from the wrong place."
+ echo "You need to run this from toolchain-utils/binary_search_tool ."
+ exit 1
+fi
+
+# Set up object file soft links
+cd ${DIR}
+
+rm -f good-objects
+rm -f bad-objects
+
+ln -s good-objects-permanent good-objects
+ln -s bad-objects-permanent bad-objects
+
+if [[ ! -d work ]] ; then
+ mkdir work
+fi
+
+# Check to see if the object files need to be built.
+if [[ ! -f good-objects-permanent/build.o ]] ; then
+ # 'make clean'
+ rm -f work/*.o
+ # skip populate stages in bisect wrapper
+ unset BISECT_STAGE
+ # Set up the 'good' source files.
+ cd ..
+ ${DIR}/make_sources_good.sh
+ cd ${DIR}
+ # Build the 'good' .o files & copy to appropriate directory.
+ ./build.sh
+ mv work/*.o good-objects-permanent/.
+ # Set up the 'bad' source files.
+ cd ..
+ ${DIR}/make_sources_bad.sh
+ cd ${DIR}
+ # Build the 'bad' .o files & copy to appropriate directory.
+ ./build.sh
+ mv work/*.o bad-objects-permanent/.
+fi
+
+# Now we're ready for the main test.
+
+cd ${SAVE_DIR}
+${DIR}/main-bisect-test.sh