[tbot] [DENX] tbot: board hangs if no autoload

Heiko Schocher hs at denx.de
Thu Nov 15 09:49:58 UTC 2018


Hello Harald,

Am 15.11.2018 um 10:28 schrieb Harald Seiler:
> On Thu, 2018-11-15 at 10:23 +0100, Lukasz Majewski wrote:
>> On Thu, 15 Nov 2018 10:19:17 +0100
>> Harald Seiler <hws at denx.de> wrote:
>>
>>> On Thu, 2018-11-15 at 10:10 +0100, Stefano Babic wrote:
>>>> Hi Harald,
>>>>
>>>> On 15/11/18 09:36, Harald Seiler wrote:
>>>>> Hi Stefano!
>>>>>
>>>>> Yes, TBot waits for an autoboot prompt.  You can disable this by
>>>>> setting `autoboot_prompt` in your UBootMachine to the U-Boot
>>>>> prompt.
>>>>>
>>>>> 	class MyUBoot(board.UBootMachine):
>>>>> 	    prompt = "=> "
>>>>> 	    autoboot_prompt = "=> "
>>>>>
>>>>> I know this is more of a hack
>>>>
>>>> Yes, because it is not a fix property of the board. It depends if
>>>> autoload is active and bootcmd is set on the board. The "mira"
>>>> board has not "bootcmd" set in default environment, and behavior is
>>>> different just after setting bootcmd.
>>>
>>> Hmm, good point, I will think about it ...
>>>
>>>>    
>>>>> and I will add a proper way to do this in
>>>>> a future release
>>>>
>>>> Nice !
>>>>    
>>>>> (keep an eye on the CHANGELOG, there will be a lot of
>>>>> small convenience features like this in the next versions!)
>>>>
>>>> Do we have a repo for testcases with the new format ? I really
>>>> appreciate that new tbot has a clean split between software (tbot),
>>>> setup (boards and lab) and testcases. We have repos for the first
>>>> two cases, I cannot find a set of common tc. I mean, tc that are
>>>> already converted for @tbot.testcase - if not, I would start to
>>>> write myself, but I do not want to reinvent the wheel (and of
>>>> course, I will do more mistakes..)
>>>
>>> That is what my `tbot-denx` repo is supposed to be (DENX-Internal
>>> only):
>>>
>>> 	https://gitlab.denx.de/HaraldSeiler/tbot-denx
>>>
>>> However, it doesn't contain any testcases yet.
>>
>> Is there a way to convert (or directly re-use) Heiko's test cases?
> 
> Unfortunately not, there is absolutely no compatibility between the two
> versions ... So it needs a human to do it.
> 
> I guess, at the moment I am in the best position to do so, I just need
> input about which testcases have the highest priority to you.

Instead it may makes more sense to discuss what we want to test and
than how to write the testcases?

Proposal what I have already:

U-Boot

- get sources
- may apply patches to it
   list of patches in a directory ?
   get a list of patches from patchwork todo list?

- install u-boot on the board
- check if really the new version of u-boot boots
- create a register dump file
   write register content into a register dump file
- do register checks
   open register dump file and check if register content
   is the same as in the file
- convert all DUTS testcases
   http://git.denx.de/?p=duts.git

   goal, create at the end a u-boot commandline documentation

- call pytest from u-boot?
- if new u-boot does not boot, switch bootmode and unbreak it

Linux:

- get sources
- may apply patches to it
- install linux on the board
- check if booted version is the expected one
- create a register dump file
   write register content into a register dump file
- do register checks
   open register dump file and check if register content
   is the same as in the file
- look if a list of string are in dmesg output

- look for example at the LTP project, what they test

- check if ptest-runner is in the rootfs and call it

...

yocto:
- get the sources
- configure
- bake
- check if files you are interested in are created
- install new images
- boot them
- check if rootfsversion is correct

Goal should be to get generic testcases, which can be configured
for board specific needs... not always easy.

bye,
Heiko
-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-52   Fax: +49-8142-66989-80   Email: hs at denx.de


More information about the tbot mailing list