diff options
Diffstat (limited to 'binary_search_tool/full_bisect_test/run-test-nowrapper.sh')
-rwxr-xr-x | binary_search_tool/full_bisect_test/run-test-nowrapper.sh | 68 |
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 |