Age | Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
BUG=chromium:570458
TEST='crosperf/run_tests.sh' passes.
Change-Id: Ifda134bf5f26db04551b915c189814b86e750df3
Reviewed-on: https://chrome-internal-review.googlesource.com/244866
Commit-Ready: Rahul Chaudhry <rahulchaudhry@google.com>
Tested-by: Rahul Chaudhry <rahulchaudhry@google.com>
Reviewed-by: Luis Lozano <llozano@chromium.org>
|
|
BUG=chromium:570458
TEST='crosperf/run_tests.sh' passes.
Change-Id: I5b8e7fafbfb73abedb03a1d01267b4216493773b
Reviewed-on: https://chrome-internal-review.googlesource.com/243456
Commit-Ready: Rahul Chaudhry <rahulchaudhry@google.com>
Tested-by: Rahul Chaudhry <rahulchaudhry@google.com>
Reviewed-by: Caroline Tice <cmtice@google.com>
|
|
BUG=chromium:570458
TEST='crosperf/run_tests.sh' passes.
Change-Id: I2e0cf0d903b0ca7662132528ee6860ea8eaee83b
Reviewed-on: https://chrome-internal-review.googlesource.com/243412
Commit-Ready: Rahul Chaudhry <rahulchaudhry@google.com>
Tested-by: Rahul Chaudhry <rahulchaudhry@google.com>
Reviewed-by: Caroline Tice <cmtice@google.com>
|
|
BUG=chromium:570458
TEST='crosperf/run_tests.sh' passes.
Change-Id: I0cb94c77c26941fafb97cca2b9e9bb12cf4c210e
Reviewed-on: https://chrome-internal-review.googlesource.com/243411
Commit-Ready: Rahul Chaudhry <rahulchaudhry@google.com>
Tested-by: Rahul Chaudhry <rahulchaudhry@google.com>
Reviewed-by: Caroline Tice <cmtice@google.com>
|
|
This CL fixes all missing-shebang and bad-shebang lint warnings.
BUG=chromium:570458
TEST='crosperf/run_tests.sh' passes.
Change-Id: I41bd3516496b246e4e4a8ccc9f97fb25007738a7
Reviewed-on: https://chrome-internal-review.googlesource.com/243136
Commit-Ready: Rahul Chaudhry <rahulchaudhry@google.com>
Tested-by: Rahul Chaudhry <rahulchaudhry@google.com>
Reviewed-by: Luis Lozano <llozano@chromium.org>
|
|
This CL fixes all unused-import lint warnings.
BUG=chromium:570458
TEST='crosperf/run_tests.sh' passes.
Change-Id: I145cebe61117388e729cf1b67001cb727fee1b33
Reviewed-on: https://chrome-internal-review.googlesource.com/243108
Commit-Ready: Rahul Chaudhry <rahulchaudhry@google.com>
Tested-by: Rahul Chaudhry <rahulchaudhry@google.com>
Reviewed-by: Luis Lozano <llozano@chromium.org>
|
|
BUG=chromium:567921
TEST=binary_search_state.py is lint clean.
Change-Id: Ie5f3b056e64167ac715b1cb03cc796aa4f3f33be
Reviewed-on: https://chrome-internal-review.googlesource.com/242515
Commit-Ready: Yunlian Jiang <yunlian@google.com>
Tested-by: Yunlian Jiang <yunlian@google.com>
Reviewed-by: Caroline Tice <cmtice@google.com>
Reviewed-by: Yunlian Jiang <yunlian@google.com>
|
|
BUG=chromium:567921
TEST=binary_search_perforce.py is lint clean.
Change-Id: Ib77e93f719df0de740e8954c67de40fd754dd245
Reviewed-on: https://chrome-internal-review.googlesource.com/242505
Commit-Ready: Yunlian Jiang <yunlian@google.com>
Tested-by: Yunlian Jiang <yunlian@google.com>
Reviewed-by: Han Shen <shenhan@google.com>
|
|
This gets rid of a lot of lint issues.
Ran by doing this:
for f in *.py; do echo -n "$f " ; if [ -x $f ]; then pyformat -i
--remove_trailing_comma --yapf --force_quote_type=double $f ; else
pyformat -i --remove_shebang --remove_trailing_comma --yapf
--force_quote_type=double $f ; fi ; done
BUG=chromium:567921
TEST=Ran simple crosperf run.
Change-Id: I59778835fdaa5f706d2e1765924389f9e97433d1
Reviewed-on: https://chrome-internal-review.googlesource.com/242031
Reviewed-by: Luis Lozano <llozano@chromium.org>
Commit-Queue: Luis Lozano <llozano@chromium.org>
Tested-by: Luis Lozano <llozano@chromium.org>
Reviewed-by: Yunlian Jiang <yunlian@google.com>
|
|
Cleaned up the interfaces for the RunCommand routines.
These were returning different types (int or tuple) depending on
the value of the return_ouput parameter.
Returning different unrelated types from a routine is bad practice.
Linter complains about this with several warnings like this:
"Attempting to unpack a non-sequence defined at line XY of
utils.command_executer"
BUG=chromium:566256
TEST=ran crosperf with a example experiment file
Ran run_tests.
Change-Id: Ibb83ab9322c87558077fc4937ef5c0686bbe5417
Reviewed-on: https://chrome-internal-review.googlesource.com/241459
Commit-Ready: Luis Lozano <llozano@chromium.org>
Tested-by: Luis Lozano <llozano@chromium.org>
Reviewed-by: Han Shen <shenhan@google.com>
|
|
Scripts to be used by the binary searching tool to interact with
the bisecting functionality in the sysroot_wrapper.
BUG=None
TEST=Tested on 3 different occasions while triaging problems
in flash, kernel and glibc.
Change-Id: Icf55f60b0cb160ae453c9384ca77da70710c3f48
Reviewed-on: https://chrome-internal-review.googlesource.com/188665
Reviewed-by: Han Shen <shenhan@google.com>
Commit-Queue: Luis Lozano <llozano@chromium.org>
Tested-by: Luis Lozano <llozano@chromium.org>
|
|
do binary search triage on ChromeOS packages.
BUG=None
TEST=Tested the scripts on a lumpy build.
Change-ID: I131b4f24d53a32ccec70fe320119ffccb09e73ca
Reviewed-on: https://chrome-internal-review.googlesource.com/194849
Reviewed-by: Luis Lozano <llozano@chromium.org>
Commit-Queue: Caroline Tice <cmtice@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
|
|
We now can test the binary search tool with -
./binary_search_tool_tester.py
This will generate a set of object files with some bad ones, and call
the binary search tool to find them out.
TEST=gpylint and passed my test suite
BUG=None
Change-Id: I56fbda7f75fe3bc239e456161c48b7611c3a315d
Reviewed-on: https://chrome-internal-review.googlesource.com/150255
Reviewed-by: Luis Lozano <llozano@chromium.org>
Commit-Queue: Han Shen <shenhan@google.com>
Tested-by: Han Shen <shenhan@google.com>
|