[igt-dev] [PATCH i-g-t] lib/igt_kms: only check chamelium's presence in chamelium tests

Petri Latvala petri.latvala at intel.com
Mon Mar 22 08:21:57 UTC 2021


On Mon, Mar 22, 2021 at 12:59:23PM +0530, Kunal Joshi wrote:
> On 2021-03-22 at 08:29:02 +0200, Martin Peres wrote:
> > On 22/03/2021 07:26, Kunal Joshi wrote:
> > > Avoid checking if chamelium is present or not in non chamelium
> > > tests as its just an overhead.
> > 
> > The point of doing this was to stop having screens in CI and instead mostly
> > have chameliums. This means that we need to make sure the chamelium exposes
> > all the ports before starting a KMS test, since some tests may have left the
> > screens disconnected.
> > 
> > Is that making sense?
> 
> Thanks martin for having a look and yeah i got your point,
> 
> But for checking all the ports are connected we can have a script which
> checks it before the execution starts rather than checking it everytime
> 
> Currently when chamelium is not reachable we get SIGQUIT on all the
> tests
> 
> Starting subtest: basic-fence-flip
> Received signal SIGQUIT.
> Stack trace:
> #0 [fatal_sig_handler+0xd6]
> #1 [killpg+0x40]
> #2 [pselect+0x59]
> #3 [xmlrpc_server_info_disallow_auth_ntlm+0x389]
> #4 [xmlrpc_server_info_disallow_auth_ntlm+0x786]
> #5 [xmlrpc_server_info_disallow_auth_ntlm+0xd1f]
> #6 [xmlrpc_client_call2+0xa8]
> #7 [xmlrpc_client_call2f_va+0x9e]
> #8 [__chamelium_rpc_va+0x87]
> #9 [__chamelium_rpc.constprop.8+0x8c]
> #10 [chamelium_wait_reachable+0x65]
> #11 [igt_display_require+0xbe]
> #12 [test_flip+0x4b]
> #13 [__real_main1093+0x1c38]
> #14 [main+0x27]
> #15 [__libc_start_main+0xe7]
> #16 [_start+0x2a]
> 
> When chamelium is not reachable chamelium_wait_reachable() never returns
> back and we have inactivity timeout which kills the test.


If the configured chamelium is not reachable, we don't want to run any
tests on that platform anyway. What we want to do is make it clear
from the results that an admin should go and kick the device to get it
into shape.

The code you're removing is not just checking that ports are
connected, it's _making_sure_ that they are connected. We had a lot of
noise in the results before putting that there, it's a real need, and
we need it to happen in all tests.

You say this is overhead, do you have some runtime numbers how long
this takes on a working chamelium setup?


-- 
Petri Latvala


More information about the igt-dev mailing list