Hi Brian,

FAILFAST=0 is the default, so there is no need to specify it.

Usually, when a test case 'runs forever', it means that the VPP crashed
while processing an API call (did you see a message about a core found
in temporary directory?), in which case python will be stuck waiting for
a lock. Now, the problem is that there is no way to cancel that stuck
thread in Python (which is for most cases the main thread).

So to work around this issue, the following approach is taken: First
thing the test framework does is fork - child continues running
the tests while parent monitors the child. There is a pipe open,
through which child sends keep-alive objects containing the name of
the test case, its temporary directory and some other info whenever
setUp() runs. That way parent can tell that the child is progressing
through the tests and also can say which test caused timeout.

I spent quite some time trying to make it work so that the tests can
continue, but unless we refactor the code so that each test runs in its
own forked process, we won't be able to achieve your goal. So far, 100%
of these timeouts were caused by VPP dumping a core and it seemed to me
like a waste of time spending extra time to make the tests finish.

Thanks,
Klement

Quoting Brian Brooks (2017-09-22 19:07:53)
> Is there a way to make:
> 
>   FAILFAST=0 TIMEOUT=t make test
> 
> actually continue on to the next test if a test has reached timeout t?
> 
> The motivation is that I see at least one test case running for forever,
> and I want to be able to see how many test cases are failing in total.
> 
> I didn't see that this was possible to do out of the box, so I tried one
> approach: launch a thread that waits until the timeout has passed and then
> send a term signal to the vpp process. If the test case completes before
> timeout, the test case's "tearDown" routine will cancel the timeout thread.
> The timeout and killing part works, except the test framework still does
> not continue on to the next test case.
> 
> Thoughts?
> 
> Thanks,
> Brian
> _______________________________________________
> vpp-dev mailing list
> vpp-dev@lists.fd.io
> https://lists.fd.io/mailman/listinfo/vpp-dev
_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev
  • [vpp-dev] uni... Brian Brooks
    • Re: [vpp... Klement Sekera -X (ksekera - PANTHEON TECHNOLOGIES at Cisco)
      • Re: ... Dave Wallace
        • ... Klement Sekera -X (ksekera - PANTHEON TECHNOLOGIES at Cisco)

Reply via email to