[roll] Roll fuchsia [lacewing] Implement a "three strikes" timeout. This CL changes how timeouts and interrupts impact lacewing tests in a few ways. 1. We actually pass the timeout from the build file to the lacewing test. Previously, only infra saw it. 2. We additionally pass a "cleanup period" duration, during which we expect the test to do stuff that aides in debugging failures. 3. The test driver will send SIGTERM to the underlying test process at the beginning of the cleanup period, as well as at the end. Then it gets a final 30 second grace period, followed by SIGKILL. In my experimentation, this works surprisingly well. When mobly gets SIGTERM, it raises `TestAbortAll`, which tells the test to "skip this" and move closer to exiting. So concretely: - The first SIGTERM arrives during a test that's hanging. Mobly immediately aborts the test and moves onto the teardown handlers. This begins the "cleanup period." - If the cleanup is taking too long, we send another SIGTERM and that aborts whatever the teardown was working on, and moves onto the next bit of teardown (i.e., goes from `teardown_test` to `teardown_class` or `clean_up`). - That last phase is (hopefully) pretty quick and finishes up before we have to send SIGKILL. Original-Bug: 488024065 Original-Bug: 491872342 Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1535135 Original-Revision: 14db289b51814b5f1cb9ea9a0e94a728c5ff89e2 GitOrigin-RevId: aec586e8d78fecf27a403dff1d9721c7ac0957aa Change-Id: I906ff4a5f1c893b07cfb91b0d9418c90fc84fe88
This repository contains Fuchsia's Global Integration manifest files.
All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.
Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party.