On Mon, Feb 17, 2020 at 05:32:45PM +0200, Andy Shevchenko wrote: > On Mon, Feb 17, 2020 at 5:09 PM Wolfgang Denk <w...@denx.de> wrote: > > In message > > <cahp75vduy7zjfkc4yv-ktt1aekg9ggy6psjaeokgo9ectqx...@mail.gmail.com> you > > wrote: > > > > > > > > git bisect is the usual way to figure out the culprit. > > > > > > > > Too much work to do this way. > > > > If you find bisecting is too much work you probably still do it > > manually. Why don't you use tbot to automize such boring and time > > consuming tasks? > > Bisection time something about 10%, while 90% is flashing the board > and, given the result, triggering either bad or good next cycle.
In case our emails crossed, this is where 'git bisect run' comes in handy if you can automate the flashing. It's why I have the follow script locally: #!/bin/bash if [ $# -ne 1 -a $# -ne 2 ]; then echo "Usage: $0 buildman-spec test.py-id" exit 1 fi if [ $# -eq 2 ]; then ARGS="$1 --id $2" else ARGS="$1" fi # Build the board virtualenv -p /usr/bin/python3 /tmp/venv . /tmp/venv/bin/activate pip install -r test/py/requirements.txt set +e ./tools/buildman/buildman -o /tmp -P ^${1}$ set -e # Run the tests export PATH=${PATH}:/home/trini/work/u-boot/uboot-test-hooks/bin export PYTHONPATH=/home/trini/work/u-boot/uboot-test-hooks/py/bill-the-cat:${PYTHONPATH} export UBOOT_TRAVIS_BUILD_DIR=/tmp/.bm-work/$1 ./test/py/test.py --bd $ARGS --build-dir "$UBOOT_TRAVIS_BUILD_DIR" -k 'not sleep' To run test.py automatically for a board, and I have several boards hooked up to the framework Stephen Warren has. When I need to bisect a boot failure I change 'not sleep' to 'version' so it only runs that one super quick test. Then 'git bisect run uboot-test.sh boardname' once I have the first good/bad. And I'll do a 'git checkout' of a commit or two if I have a hunch of what introduced the failure. -- Tom
signature.asc
Description: PGP signature