diff options
author | Zhizhou Yang <zhizhouy@google.com> | 2017-07-22 01:20:28 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-07-22 01:20:28 +0000 |
commit | ec1dfabf71cfe08796ba80ae03f4857b2797f5f9 (patch) | |
tree | bf139ee25415cecde142e95791edba3803b2452a /binary_search_tool/full_bisect_test/main-bisect-test.sh | |
parent | 3690e025de8daaed03c4acb02d2b054e5c4c0dd5 (diff) | |
parent | f1a93c225b92dc0059e7d7e2de7c7bd0a493e23d (diff) | |
download | toolchain-utils-ec1dfabf71cfe08796ba80ae03f4857b2797f5f9.tar.gz |
Merge branch 'aosp/mirror-chromium-master' into update_utils am: 4307f4735e am: 18caef1edd am: 6c551e0d52 am: ddfea1f7e7android-wear-9.0.0_r9android-wear-9.0.0_r8android-wear-9.0.0_r7android-wear-9.0.0_r6android-wear-9.0.0_r5android-wear-9.0.0_r4android-wear-9.0.0_r34android-wear-9.0.0_r33android-wear-9.0.0_r32android-wear-9.0.0_r31android-wear-9.0.0_r30android-wear-9.0.0_r3android-wear-9.0.0_r29android-wear-9.0.0_r28android-wear-9.0.0_r27android-wear-9.0.0_r26android-wear-9.0.0_r25android-wear-9.0.0_r24android-wear-9.0.0_r23android-wear-9.0.0_r22android-wear-9.0.0_r21android-wear-9.0.0_r20android-wear-9.0.0_r2android-wear-9.0.0_r19android-wear-9.0.0_r18android-wear-9.0.0_r17android-wear-9.0.0_r16android-wear-9.0.0_r15android-wear-9.0.0_r14android-wear-9.0.0_r13android-wear-9.0.0_r12android-wear-9.0.0_r11android-wear-9.0.0_r10android-wear-9.0.0_r1android-vts-9.0_r9android-vts-9.0_r8android-vts-9.0_r7android-vts-9.0_r6android-vts-9.0_r5android-vts-9.0_r4android-vts-9.0_r19android-vts-9.0_r18android-vts-9.0_r17android-vts-9.0_r16android-vts-9.0_r15android-vts-9.0_r14android-vts-9.0_r13android-vts-9.0_r12android-vts-9.0_r11android-vts-9.0_r10android-security-9.0.0_r76android-security-9.0.0_r75android-security-9.0.0_r74android-security-9.0.0_r73android-security-9.0.0_r72android-security-9.0.0_r71android-security-9.0.0_r70android-security-9.0.0_r69android-security-9.0.0_r68android-security-9.0.0_r67android-security-9.0.0_r66android-security-9.0.0_r65android-security-9.0.0_r64android-security-9.0.0_r63android-security-9.0.0_r62android-o-mr1-iot-release-1.0.4android-o-mr1-iot-release-1.0.3android-cts-9.0_r9android-cts-9.0_r8android-cts-9.0_r7android-cts-9.0_r6android-cts-9.0_r5android-cts-9.0_r4android-cts-9.0_r3android-cts-9.0_r20android-cts-9.0_r2android-cts-9.0_r19android-cts-9.0_r18android-cts-9.0_r17android-cts-9.0_r16android-cts-9.0_r15android-cts-9.0_r14android-cts-9.0_r13android-cts-9.0_r12android-cts-9.0_r11android-cts-9.0_r10android-cts-9.0_r1android-9.0.0_r9android-9.0.0_r8android-9.0.0_r7android-9.0.0_r61android-9.0.0_r60android-9.0.0_r6android-9.0.0_r59android-9.0.0_r58android-9.0.0_r57android-9.0.0_r56android-9.0.0_r55android-9.0.0_r54android-9.0.0_r53android-9.0.0_r52android-9.0.0_r51android-9.0.0_r50android-9.0.0_r5android-9.0.0_r49android-9.0.0_r48android-9.0.0_r47android-9.0.0_r46android-9.0.0_r45android-9.0.0_r44android-9.0.0_r43android-9.0.0_r42android-9.0.0_r41android-9.0.0_r40android-9.0.0_r39android-9.0.0_r38android-9.0.0_r37android-9.0.0_r36android-9.0.0_r35android-9.0.0_r34android-9.0.0_r33android-9.0.0_r32android-9.0.0_r31android-9.0.0_r30android-9.0.0_r3android-9.0.0_r22android-9.0.0_r21android-9.0.0_r20android-9.0.0_r2android-9.0.0_r19android-9.0.0_r18android-9.0.0_r17android-9.0.0_r16android-9.0.0_r12android-9.0.0_r11android-9.0.0_r10android-9.0.0_r1security-pi-releasepie-vts-releasepie-security-releasepie-s2-releasepie-release-2pie-releasepie-r2-s2-releasepie-r2-s1-releasepie-r2-releasepie-qpr3-s1-releasepie-qpr3-releasepie-qpr3-b-releasepie-qpr2-releasepie-qpr1-s3-releasepie-qpr1-s2-releasepie-qpr1-s1-releasepie-qpr1-releasepie-platform-releasepie-gsipie-dr1-releasepie-dr1-devpie-devpie-cuttlefish-testingpie-cts-releasepie-b4s4-releasepie-b4s4-dev
am: f1a93c225b
Change-Id: I60d258ddb8fd0bf9632f1f70c5cdeb3078938059
Diffstat (limited to 'binary_search_tool/full_bisect_test/main-bisect-test.sh')
-rwxr-xr-x | binary_search_tool/full_bisect_test/main-bisect-test.sh | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/binary_search_tool/full_bisect_test/main-bisect-test.sh b/binary_search_tool/full_bisect_test/main-bisect-test.sh new file mode 100755 index 00000000..af01c19c --- /dev/null +++ b/binary_search_tool/full_bisect_test/main-bisect-test.sh @@ -0,0 +1,104 @@ +#!/bin/bash +# +# This script is the heart of the bisection test. It assumes the good-objects +# and bad-objects directories have been created and populated. It runs three +# bisection tests: +# Test 1. use --file_args, and no pruning, which passes the object file list +# in a file, and stops as soon as it finds the first bad file. +# Test 2. do not use --file_args, and no pruning. The object files are passed +# directly on the command line; stop as soon as it finds the first +# bad file. +# Test 3. use --file_args and --prune. Pass the object file list in a file +# and run until it finds ALL the bad files (there are two of them). +# + +SAVE_DIR=`pwd` + +DIR=full_bisect_test + +# Make sure you are running this script from the parent directory. +if [[ ! -f "${DIR}/setup.sh" ]] ; then + echo "Cannot find ${DIR}/setup.sh. You are running this from the wrong directory." + echo "You need to run this from toolchain-utils/binary_search_tool ." + exit 1 +fi + +# Run Test 1. +${DIR}/setup.sh + +./binary_search_state.py --get_initial_items="${DIR}/get_initial_items.sh" \ + --switch_to_good="${DIR}/switch_to_good.sh" \ + --switch_to_bad="${DIR}/switch_to_bad.sh" \ + --test_setup_script="${DIR}/test_setup.sh" \ + --test_script="${DIR}/interactive_test.sh" \ + --file_args &> /tmp/full_bisect_test.log + +${DIR}/cleanup.sh + +grep "Search complete. First bad version: " /tmp/full_bisect_test.log &> /dev/null +test_status=$? + +if [[ ${test_status} -ne 0 ]] ; then + echo "Test 1 FAILED. See /tmp/full_bisect_test.log for details." + exit 1 +else + echo "Test 1 passed." +fi + +cd ${SAVE_DIR} + +# Run Test 2. +${DIR}/setup.sh + +./binary_search_state.py --get_initial_items="${DIR}/get_initial_items.sh" \ + --switch_to_good="${DIR}/switch_to_good.sh" \ + --switch_to_bad="${DIR}/switch_to_bad.sh" \ + --test_setup_script="${DIR}/test_setup.sh" \ + --test_script="${DIR}/interactive_test.sh" \ + &> /tmp/full_bisect_test.log + +${DIR}/cleanup.sh + +grep "Search complete. First bad version: " /tmp/full_bisect_test.log &> /dev/null +test_status=$? + +if [[ ${test_status} -ne 0 ]] ; then + echo "Test 2 FAILED. See /tmp/full_bisect_test.log for details." + exit 1 +else + echo "Test 2 passed." +fi + +cd ${SAVE_DIR} + +# Run Test 3. +${DIR}/setup.sh + +./binary_search_state.py --get_initial_items="${DIR}/get_initial_items.sh" \ + --switch_to_good="${DIR}/switch_to_good.sh" \ + --switch_to_bad="${DIR}/switch_to_bad.sh" \ + --test_setup_script="${DIR}/test_setup.sh" \ + --test_script="${DIR}/interactive_test.sh" \ + --file_args --prune &> /tmp/full_bisect_test.log + +${DIR}/cleanup.sh + +grep "Bad items are: " /tmp/full_bisect_test.log | grep inorder_norecurse.o &> /dev/null +test_status_1=$? + +grep "Bad items are: " /tmp/full_bisect_test.log | grep preorder_norecurse.o &> /dev/null +test_status_2=$? + +if [[ ${test_status_1} -ne 0 ]] ; then + echo "Test 3 FAILED. See /tmp/full_bisect_test.log for details." + exit 1 +elif [[ ${test_status_2} -ne 0 ]] ; then + echo "Test 3 FAILED. See /tmp/full_bisect_test.log for details." + exit 1 +else + echo "Test 3 passed." +fi + +# All tests passed! +exit 0 + |