| This file explains how to set up and run the various kinds of bisection tests. |
| |
| The bisection tool comes with several sets of tests which you should |
| run after updating any of the bisection tool scripts OR after updating |
| the Android compiler wrapper (to make sure the wrapper will still work |
| correctly with bisection). |
| |
| Before you start. |
| ---------------- |
| |
| Before you can run the tests, your PYTHONPATH environment variable |
| must be correct. This means that it must include both the |
| toolchain-utils directory and the binary_search_tool directory. The |
| easiest way to set it is: |
| |
| $ cd toolchain-utils |
| $ export PYTHONPATH=`pwd`:${PYTHONPATH} |
| $ cd binary_search_tool |
| $ export PYTHONPATH=`pwd`:${PYTHONPATH} |
| |
| |
| Running the unittests. |
| ---------------------- |
| |
| To run the basic unit tests: |
| |
| $ cd toolchain-utils/binary_search_tool/test |
| $ ./binary_search_tool_tester.py |
| |
| Running the bisection tests, testing the compiler wrapper. |
| ---------------------------------------------------------- |
| |
| If you want to run the bisection tests, and test the compiler wrapper |
| (to make sure the POPULATE_GOOD and POPULATE_BAD stages are still |
| working properly) you can do something like the following. The steps |
| below illustrate how to test with the Android compiler wrapper, but |
| the steps for testing with the ChromeOS compiler wrapper would be very |
| similar. |
| |
| |
| Set up the compiler wrapper to replace GCC: |
| |
| $ cd <android-root/prebuilts/clang/host/linux-x86/clang-368880/bin |
| $ cp clang gcc |
| $ whereis gcc |
| gcc: /usr/bin/gcc /usr/lib/gcc /usr/bin/X11/gcc /usr/share/man/man1/gcc.1.gz |
| $ cd /usr/bin |
| $ ls -l gcc |
| lrwxrwxrwx 1 root root 7 Feb 3 17:00 gcc -> gcc-4.8* |
| $ sudo mv gcc gcc.real |
| $ sudo ln -s <android-root>/prebuilts/clang/host/linux-x86/clang-3688880/bin/gcc gcc |
| |
| Move to the correct directory, then run the test script: |
| |
| $ cd toolchain-utils/binary_search_tool |
| $ ./run_bisect_test.py |
| |
| |
| |
| Running the bisection tests, without testing the compiler wrapper. |
| ------------------------------------------------------------------ |
| |
| $ cd toolchain-utils/binary_search_tool |
| $ ./full_bisect_test/run-test-nowrapper.sh |