On Mon, Feb 17, 2020 at 05:32:45PM +0200, Andy Shevchenko wrote: > On Mon, Feb 17, 2020 at 5:09 PM Wolfgang Denk <[email protected]> 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

