
Hello Andy,
Am 18.02.2020 um 11:45 schrieb Andy Shevchenko:
On Tue, Feb 18, 2020 at 7:48 AM Heiko Schocher hs@denx.de wrote:
Am 17.02.2020 um 17:04 schrieb Wolfgang Denk:
In message CAHp75VfuzMm=CPJ86GspRiiv+AAYbs+jFDKP2rfNmYhsmvOY+w@mail.gmail.com you wrote:
On Mon, Feb 17, 2020 at 5:09 PM Wolfgang Denk wd@denx.de wrote:
In message CAHp75VdUY7zJfkc4YV-KTt1aEKg9Ggy6PsJAEOkgo9eCtQx9Kg@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.
Yes, and this is exactly what tbot was made for - automating such repeating, boring activities. It is wasted life time to do this manually.
Yes, that is one benefit if you use tbot, see git bisect help:
http://tbot.tools/modules/tc.html?highlight=bisect#tbot.tc.git.GitRepository...
You only have to pass to the function the good commit as string and a tbot python function which tests the current commit. This test function now can call other functions like run a complete build of current source, copy the resulting images let say to a tftp directory, install the new images on the device, reboot it and run tests on the U-Boot comamndline on the real board ...
So using tbot for the complete development process makes a lot of sense, also as you have at the end a complete setup for testing your board (not only U-Boot also linux or other commandline based machines are possible to automate), it is easy to start a CI ... as tbot is a commandline tool a simple cron job is enough .. or you can integrate it easily into jenkins, buildbot, gitlab CI runner ... whatever CI you use...
If you want to get help setting up tbot, feel free to ask me or Harald directly or on the tbot mailinglist:
How the feed back line is organized? I mean how host system will know that a) we done flash correctly? b) the booted image is bad or good?
For both questions the answer is, that you need to write a testcase which answer this question.
For a) you flash the image in some way through U-Boot commands. You start this commands from a tbot testcase written in python and parse the output and/or return code of the command and than decide ...
Same for b) reboot the board, check if new version is installed by parsing the U-Boot bootlog, than start U-Boot commands to find out, if current installed version is good or bad.
bye, Heiko