aboutsummaryrefslogtreecommitdiff
path: root/binary_search_tool
AgeCommit message (Collapse)Author
2016-07-28binary search tool: Add android test scriptsCassidy Burden
Add android test scripts: boot test and interactive test. Boot test waits for device to boot up and reach homescreen. Interactive test waits for device to boot and asks user if the image is good or bad. TEST=Run full bisection with boot test, test code paths with interactive test Change-Id: I04490da381964ca157f72f70cca49213e0e827c0 Reviewed-on: https://chrome-internal-review.googlesource.com/271975 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com> Reviewed-by: Han Shen <shenhan@google.com>
2016-07-28binary search tool: Add android get_initial_items scriptCassidy Burden
This script will simply output the list of all files in the good object cache. TEST=Used with test android bisection Change-Id: I5caa7b3d1372d0b5ee046f2ceb814c88122d5ec6 Reviewed-on: https://chrome-internal-review.googlesource.com/271947 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com> Reviewed-by: Han Shen <shenhan@google.com>
2016-07-28binary search tool: Add android switch scriptsCassidy Burden
Add switch scripts for android bisector. Each script hardlinks files from GOOD/BAD cache into working tree. ln/touch are invoked via xargs to allow easier input parsing and parallel execution. TEST=Tested various code paths and tried with prototype bisector Change-Id: I9f52358737e8d18486287eb9e4d30bf3e1ad13ea Reviewed-on: https://chrome-internal-review.googlesource.com/271725 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com> Reviewed-by: Han Shen <shenhan@google.com>
2016-07-28binary search tool: Add android install scriptCassidy Burden
Add install script for android bisector. This script will build android and attempt to flash the newly built image. If flashing fails, the install script will ask the user for help. TEST=Tested each code path Change-Id: I89845edd8a2bafedc9e6cabffe7bf92f2f48bc0d Reviewed-on: https://chrome-internal-review.googlesource.com/271482 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com> Reviewed-by: Han Shen <shenhan@google.com>
2016-07-27binary search tool: Alert user if --file_args requiredCassidy Burden
Check for OS Error E2BIG when running switch script. If this happens that means that --file_args is required. TEST=Test with list of android objects, properly fails Change-Id: If795ea5f45956ed0e5dd5eb6a9852f02d9f5978f Reviewed-on: https://chrome-internal-review.googlesource.com/271688 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com> Reviewed-by: Han Shen <shenhan@google.com>
2016-07-27binary search tool: Fix linting errorCassidy Burden
TEST=Run unit tests Change-Id: I235148ca88e3f86f8bb00467a2b01ebfa99b0a88 Reviewed-on: https://chrome-internal-review.googlesource.com/271528 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
2016-07-27[crosperf] Clean up exceptions.Caroline Tice
Found all instances of 'raise Exception' and changed them to raise something slightly more specific. Changed a few 'except Exception' statements appropriately as well. BUG=chromium:566255 TEST=None Change-Id: If2666bd55838342bc71431e5e6ab2157c2c9e125 Reviewed-on: https://chrome-internal-review.googlesource.com/270731 Commit-Ready: Caroline Tice <cmtice@google.com> Tested-by: Caroline Tice <cmtice@google.com> Reviewed-by: Yunlian Jiang <yunlian@google.com>
2016-07-26binary search tool: Add setup script for android bisectorCassidy Burden
Add setup script for android bisector. This setup script will: 1. Generate all necessary variables for the switch/test/etc. scripts and put them in a common.sh file. 2. Ensure the GOOD/BAD object caches exist, and have the same objects lists 3. Make sure that the android build environment is properly configured (with build/envsetup.sh and lunch) Change-Id: Id2343b5d4bbc51b06fab261863ccbe7c507c33b4 Reviewed-on: https://chrome-internal-review.googlesource.com/270976 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
2016-07-26binary search tool: Fix edge case with noincremental and pruneCassidy Burden
Fix edge case where not all items were sent to switch_to_good script when noincremental and prune were both set. Pruning progressively narrows down the total number of items being searched across because some items can be assumed good. This fix ensures that these "known good" items are also sent to the switch script if noincremental is set. TEST=Add unit test for this case, run other tests Change-Id: I1145f6eea224f06ceb2352ec77e17e849d489606 Reviewed-on: https://chrome-internal-review.googlesource.com/270718 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
2016-07-26binary search tool: Provide temp files that hold GOOD/BAD setsCassidy Burden
Provide temp files to scripts ($BISECT_GOOD_SET, $BISECT_BAD_SET) that provide a full listing of the items in the good set and items in the bad set. This can be used for debugging purposes or so scripts can analyze the state of the current binary search iteration. TEST=Add unit test that utilizes these files Change-Id: I32bc393644f1cb998c2d818a9026486ef83cc4b8 Reviewed-on: https://chrome-internal-review.googlesource.com/270730 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com> Reviewed-by: Han Shen <shenhan@google.com>
2016-07-25[toolchain-utils] Finish switching utils/ to cros_utils/.Caroline Tice
This CL finishes switching the subdirectory from 'utils' to 'cros_utils'. It changes all the remaining import statements to use 'cros_utils'; it removes the 'cros_utils' symlink, and it renames the 'utils' subdirectory to 'cros_utils'. BUG=chromium:568195 TEST=ran crosperf & binary search tool unittests. Change-Id: I7427f8bfb2ddac3a4b6108e46782039059684382 Reviewed-on: https://chrome-internal-review.googlesource.com/270396 Commit-Ready: Caroline Tice <cmtice@google.com> Tested-by: Caroline Tice <cmtice@google.com> Reviewed-by: Cassidy Burden <cburden@google.com> Reviewed-by: Luis Lozano <llozano@chromium.org>
2016-07-22binary search tool: Print out elapsed time every iterationCassidy Burden
Print out time since execution has begun every progress update. Also give final execution time after tool completes. Change-Id: Ibba29feac42c8b637b1d3595a381ad3b4e9e974d Reviewed-on: https://chrome-internal-review.googlesource.com/270695 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
2016-07-19binary search tool: Add new common hash_test.shCassidy Burden
Add new test script for all bisecting tools. This test simply runs a checksum on a given file. If the checksum fails the image is "bad", otherwise the image is "good". This test replaces the less generic system test for cros_pkg (cros_pkg/testing_test.sh). TEST=Run system test for package bisector with hash_test.sh Change-Id: Ie1358101386ec2a04a077c8d81e73706f28112c0 Reviewed-on: https://chrome-internal-review.googlesource.com/270095 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
2016-07-12binary search tool: Update found_items when prune is not setCassidy Burden
Previously when prune was not set found_items would not be updated with the single bad item found. This commit fixed this edge case and adds a unit test for it. TEST=Run unit tests Change-Id: Iac56c53fd4de97fa12b14fc9ea1e05d021cc6495 Reviewed-on: https://chrome-internal-review.googlesource.com/268725 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Han Shen <shenhan@google.com> Reviewed-by: Luis Lozano <llozano@chromium.org>
2016-07-08binary search tool: Add more unit testsCassidy Burden
Add tests for failed verification and iterations limit. Change-Id: I22c26ed1c5f779ee5f81256c2315a6c523e1dfa8 Reviewed-on: https://chrome-internal-review.googlesource.com/268243 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Han Shen <shenhan@google.com> Reviewed-by: Luis Lozano <llozano@chromium.org>
2016-07-07Add docstrings to binary search state methodsCassidy Burden
Change-Id: Iba4bf1e8df155a38c4c12fa488bee7df3ffd0291 Reviewed-on: https://chrome-internal-review.googlesource.com/268538 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Han Shen <shenhan@google.com> Reviewed-by: Luis Lozano <llozano@chromium.org>
2016-07-01binary search tool: Fix typos and small output errorsCassidy Burden
Change-Id: I0859c43b3bfe8917ebf1e5337f2e39cbb2a55fa0 Reviewed-on: https://chrome-internal-review.googlesource.com/268247 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
2016-07-01binary search tool: (Refactor) Extract common scripts into common folderCassidy Burden
Refactor warning! Move install.sh, boot_test.sh, and interactive_test.sh into common folder so they can be shared by both package and object bisectors. To allow this sharing, sysroot_wrapper now has a setup script similar to cros_pkg. All scripts now source common/common.sh. TEST=Run unit tests, run system tests, run couple iterations of install script for both bisectors. Change-Id: I9e164b4e6b842ff321c2400201e6ac0984f99088 Reviewed-on: https://chrome-internal-review.googlesource.com/268027 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
2016-06-30binary search tool: Add object bisecting to bisect.pyCassidy Burden
Add object file bisecting to bisect.py. This is the frontend to the sysroot_wrapper bisection scripts. This bisection mode takes the following arguments: board, remote IP, package to bisect, and optionally the directory for the good/bad build trees. Adds default install/test scripts to sysroot_wrapper (similar to default scripts in cros_pkg) to support this bisection mode. TEST=Run unit tests and system test with cryptohome package CQ-DEPEND=CL:*267995 Change-Id: I1e9166b753f78ca7bdcf6ddbd056af62bc03923b Reviewed-on: https://chrome-internal-review.googlesource.com/268035 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
2016-06-30binary search tool: Add pretty printing of arguments to bisect.pyCassidy Burden
Add pretty printing of arguments at beginning of bisect.py. Additionally extract argument overriding logic into helper function in base class. TEST=Try various argument overrides and verify output Change-Id: I15b33ee944356e9db880a3518bcea48e022f4442 Reviewed-on: https://chrome-internal-review.googlesource.com/267995 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
2016-06-29Add README for bisect.pyCassidy Burden
Change-Id: I9bc78a3a69609354fe88ad5123ebb748e211f1e6 Reviewed-on: https://chrome-internal-review.googlesource.com/267412 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
2016-06-29Add argument overriding to bisect.pyCassidy Burden
Add the ability to override the default arguments given to the package and object bisecting tools. This allows users to specify their own test/install/etc. script but keep the others the same. Example 1 (do boot test instead of interactive test): ./bisect.py package daisy 172.17.211.182 --test_script=cros_pkg/boot_test.sh Example 2 (do package bisector system test instead of interactive test): ./bisect.py package daisy 172.17.211.182 \ --test_script=cros_pkg/testing_test.sh --install_script="" TEST=Run unit tests and ran above examples among others (such as overriding verbose, prune, etc. options) CQ-DEPEND=CL:*266996 Change-Id: I5ee24826d4d7e22e7328ce98c6b8cda9917df533 Reviewed-on: https://chrome-internal-review.googlesource.com/266305 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
2016-06-28Add common module for binary search toolCassidy Burden
common module holds common logic between bisect and binary_search_state for adding utils to PYTHONPATH and for building the argument parser. TEST=Run unit tests, run cros_pkg system test Change-Id: I4085b28de011132c53b8fddf06e8745042ef8ea2 Reviewed-on: https://chrome-internal-review.googlesource.com/266996 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Luis Lozano <llozano@chromium.org>
2016-06-24binary search tool: Enforce execution from root directoryCassidy Burden
Both cros_pkg and sysroot_wrapper rely on the current working directory being toolchain-utils/binary_search_tool. bisect.py will now enforce this by cd'ing to this directory before execution. TEST=Run unit tests and cros_pkg CQ-DEPEND=CL:*266365 Change-Id: Ie30272ba31cd80a1b2c715e0f9a42a4e26889f16 Reviewed-on: https://chrome-internal-review.googlesource.com/266329 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
2016-06-24binary search tool: Move root path of cros_pkg execution, rename scriptsCassidy Burden
Update cros_pkg scripts and bisect.py so that the package bisector needs to be run from binary_search_tool/ instead of binary_search_tool/cros_pkg. This fits with how sysroot_wrapper implements its scripts. Also rename all cros_pkg scripts to remove cros_pkg prefix and remove undo_eclean.py. TEST=Run unit tests and run interactive/testing cros_pkg test Change-Id: I2781319934b704b91346745ae2d4d916fee35d02 Reviewed-on: https://chrome-internal-review.googlesource.com/266365 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
2016-06-22Add initial unified bisection scriptCassidy Burden
Add new script for unifying package and object bisection script interfaces. Currently only package bisection is implemented. TEST=Add unit test, test cros_pkg with testing script and interactive script Change-Id: I7491e3fb73eae863e24de3869092cfbf9df56c8d Reviewed-on: https://chrome-internal-review.googlesource.com/266096 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
2016-06-22binary search tool: Make BST tester check output more robustCassidy Burden
Updated binary_search_tool_tester's output checking to be more robust, and fully check the state of the reported good/bad sets. Change-Id: Id7ab8c006133d67b75ed902a437ca817e62cd219 Reviewed-on: https://chrome-internal-review.googlesource.com/266029 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
2016-06-21Add tests to and update sysroot_wrapper bisectorCassidy Burden
Add new testing script to sysroot_wrapper bisector and make all shell scripts for sysroot_wrapper bisector executable. TEST=Run new test on chromeos-chrome Change-Id: I312e50108e36341517ed1f8ea6b8d415e4184c2e Reviewed-on: https://chrome-internal-review.googlesource.com/265975 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
2016-06-21binary search tool: Add Run method and move Main logic thereCassidy Burden
Add Run method so that the binary search tool can be easily invoked from other Python scripts (see update to binary_search_tool_tester.py). Now Main only does very basic arg_parse logic and leaves rest up to Run. Test=Unit tests run, cros_pkg tester passes Change-Id: I90400f9223c7aad0a2701944ba8282fb763f1cf7 Reviewed-on: https://chrome-internal-review.googlesource.com/265628 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com> Reviewed-by: Han Shen <shenhan@google.com>
2016-06-20Binary search tool: Refactor bs to binary_searchCassidy Burden
TEST=Run unit tests Change-Id: Ia7f682c42602e9355d1e2db67e258e2864c78126 Reviewed-on: https://chrome-internal-review.googlesource.com/265276 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com> Reviewed-by: Han Shen <shenhan@google.com>
2016-06-20binary search tool: Cleanup state files after SaveState unit testCassidy Burden
Running test_bad_save_state would previously leave a save state with no symlink pointing to it. This would cause multiple save states to gather and clutter up the directory. We now simply cleanup the generated save state in this test case. TEST=Run unit test and see if any state files remain Change-Id: If594c7266b2ff24a260e746a4d06bddea2c0bf78 Reviewed-on: https://chrome-internal-review.googlesource.com/265286 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
2016-06-17Remove unnecessary prune iterations from binary search toolCassidy Burden
Previously the binary search tool would do multiple prune iterations to check if it was complete (using num_bad_items_history). This could lead to dozens of unneccesary prune iterations. Now we just do one extra prune iteration before completing by checking the found_items set. TEST=Run unit tests and test cros_pkg bisector Change-Id: Id5d6e45c15dcf4b4c0a1c1e6c3feb97d5c0d6d62 Reviewed-on: https://chrome-internal-review.googlesource.com/265275 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
2016-06-17[crosperf] Add phony image testing, for easier package development.Caroline Tice
Using a 'real' bad image for bisecting tool development makes it very slow because it often requires manual intervention to push images onto device and to verify if image is good or bad. This CL creates a phony good/bad test that just looks at the md5 hash value of Chrome package, allowing testing to be done with two good images, which greatly simplifies bisecting tool development. BUG=None TEST=Tested these scripts individually in my chroot. Change-Id: I4342f8f152162e12f49b916f5977776aa79e1b03 Reviewed-on: https://chrome-internal-review.googlesource.com/264605 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
2016-06-17Fix binary search tool SaveState to correctly save bisecting logicCassidy Burden
Previously SaveState wasn't saving the full program state. Now resuming can continue at the latest possible iteration. TEST=Unit tests run, tested with package bisector Change-Id: Id8542a61d16b4c3e18d696d0b601fbd0dd98d048 Reviewed-on: https://chrome-internal-review.googlesource.com/265096 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com> Reviewed-by: Han Shen <shenhan@google.com>
2016-06-17Fix cros_pkg switch scripts so last input is properly readCassidy Burden
When using --file_args the last line of input won't have a newline. This commit fixes the switch scripts so that read doesn't finish before reading the last line. Change-Id: Ia180ca2c26a40d6d0dafdb53d9129f3079e79a1b Reviewed-on: https://chrome-internal-review.googlesource.com/265085 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com> Reviewed-by: Han Shen <shenhan@google.com>
2016-06-16Add resuming to binary search toolCassidy Burden
Move around logic so that the binary search tool can be properly resumed and add the --resume option. TEST=Added unit test for LoadState Change-Id: I7059fab9ac6c37ecfd79e4cf2ef976bdebfef8fb Reviewed-on: https://chrome-internal-review.googlesource.com/264778 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com> Reviewed-by: Han Shen <shenhan@google.com>
2016-06-15Fix binary search tool's temp file creationCassidy Burden
Fix the binary search tool so that temp files are created properly. This means that temp files made for the switch scripts should be automatically deleted once the switch script completes. TEST=New unit test for temp file deletion Change-Id: I5d36bfa07e274cd79965f182d85d6a7ea3006c85 Reviewed-on: https://chrome-internal-review.googlesource.com/264735 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
2016-06-15Fix binary search tool install unit testsCassidy Burden
Change from using module wide variable common.installed to using a file called "./installed". Previously common.installed wouldn't actually be set properly because there would be two separate instances of Python running. TEST=More robust install unit test made Change-Id: Iee87a52e0f54fc63837b25918764e804747525db Reviewed-on: https://chrome-internal-review.googlesource.com/264745 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
2016-06-14Fix binary search tool tester to process output correctlyCassidy Burden
Fix the unit tests so that they run tail on the correct logs. Also fix edge case when only one bad item is found. Change-Id: I31f34755440af51a8a2310d9393aa87dc852c31d Reviewed-on: https://chrome-internal-review.googlesource.com/264695 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Luis Lozano <llozano@chromium.org>
2016-06-14Update BinarySearchState's SaveState to be atomicCassidy Burden
SaveState will now save the current state of the binary search tool to a temp file then atomically switch the symlink to the new file. TEST=Added new unit test for SaveState Change-Id: Idf97c8ef346700a6e653206083ee7ab75832dbd5 Reviewed-on: https://chrome-internal-review.googlesource.com/264419 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
2016-06-13Add constant progress output to binary search toolCassidy Burden
Add output for each iteration of the binary search tool to inform user of current status: number of remaining iterations, found bad items, etc. TEST=Ran binary_search_tool_tester and cros_pkg Change-Id: I835893330b532b7f0de9b4fe072ca72c6d7f3b6c Reviewed-on: https://chrome-internal-review.googlesource.com/264258 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
2016-06-13[crosperf] Update binary search scripts to use same logger.Cassidy Burden
TEST=Run with package bisector, logs no longer overwritten BUG=619081 Change-Id: I0f9b76a2b08c98b53a7e7a98b52ba4a1f02a0276 Reviewed-on: https://chrome-internal-review.googlesource.com/263946 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
2016-06-13Update bisection tool to use RunCommandWExceptionCleanupCassidy Burden
Update all calls to RunCommand to RunCommandWExceptionCleanup so that processes spawned by the bisection tool are properly cleaned up. TEST=Ctrl-c properly kill cros flash BUG=chromium:618461 Change-Id: I53871a911b723007d550876241129708b7ae2a92 Reviewed-on: https://chrome-internal-review.googlesource.com/264278 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
2016-06-10Add verbose option to binary search toolCassidy Burden
Ignore most output from binary search tool and provide option to see full output with the -V or --verbose option. Full output will still logged even without the --verbose option. TEST=Ran binary_search_tool_tester and cros_pkg Change-Id: I02d958f79813083b48d989c9881536ad025bb1dc Reviewed-on: https://chrome-internal-review.googlesource.com/264075 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com> Reviewed-by: Han Shen <shenhan@google.com>
2016-06-09Add default install script to cros_pkgCassidy Burden
Provide install script to package bisecting tool. This script handles failed flash by prompting user to flash via usb or resetting the Chromebook. Test=A few iterations of bisecting tool run. Successfully install after initial failed flash. Change-Id: I161c697a87e87cb66ce5a2efc152505d8a2a5b8e Reviewed-on: https://chrome-internal-review.googlesource.com/263915 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
2016-06-08Add install_script argument to binary search tool.Cassidy Burden
Add optional install_script argument that will run before test_script use this install_script to perform building/flashing/other misc. setup. If your build or flash succeeds then return 0, otherwise return 1 and this build will be "skipped" (equivalent to the test script returning a 2 exit code). Test=Update unit tests to test for successful and failed install Change-Id: Ic492f08230796f50b7bb93aebe078960419a3c99 Reviewed-on: https://chrome-internal-review.googlesource.com/262988 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
2016-06-03Fix typo with package bisector switch_to_good scriptCassidy Burden
Fix error where cros_pkg_switch_to_good.sh was using the bad build files if passed a file argument. Test=Switch to good verification passed with cros_pkg bisector Change-Id: Ie2d5e1e741ceb97ba05d6f827161d12c103d9e48 Reviewed-on: https://chrome-internal-review.googlesource.com/262466 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
2016-06-01Fix linting errors with binary search tool.Cassidy Burden
Fix basic style errors in BST tests and remove use of optparse across scripts. Change-Id: I4f484fb22ca6bb6849d79144bf7bdb7a38e49468 Reviewed-on: https://chrome-internal-review.googlesource.com/261739 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Caroline Tice <cmtice@google.com> Reviewed-by: Han Shen <shenhan@google.com>
2016-05-26[crosperf] Update bisecing triage tool to not update build_image.Caroline Tice
The package bisecting tool used to actually edit the build_image script, to prevent it from calling 'eclean', which messed up the bisecting tool. Now there's a flag '-noeclean' that can be passed to build_image instead. This CL updates the tool to use the flag, which is much safer, rather than modifying the build_image script. It also cleans up a few other minor issues with the tool BUG=chromium:614829 TEST=Ran the tool with these changes. Change-Id: If92148306c041b49d3fa45253ea5451bc840d862 Reviewed-on: https://chrome-internal-review.googlesource.com/260726 Commit-Ready: Caroline Tice <cmtice@google.com> Tested-by: Caroline Tice <cmtice@google.com> Reviewed-by: Yunlian Jiang <yunlian@google.com>
2016-01-23toolchain-utils: fix class-missing-docstring lint warnings.Rahul Chaudhry
BUG=chromium:570458 TEST='crosperf/run_tests.sh' passes. Change-Id: I0640cab2c8d15380badbfbc0db39e3063cc85471 Reviewed-on: https://chrome-internal-review.googlesource.com/244867 Commit-Ready: Rahul Chaudhry <rahulchaudhry@google.com> Tested-by: Rahul Chaudhry <rahulchaudhry@google.com> Reviewed-by: Luis Lozano <llozano@chromium.org>