Skip to content

invoker.dart incorrectly reports which test times out #1104

@yjbanov

Description

@yjbanov

In this test log, notice that invoker.dart reports timeouts for flex_test.dart and dynamic_intrinsics_test.dart. However, neither of these two tests time out. If you run them in isolation, they will finish quickly and successfully.

The test that's actually timing out is paginated_data_table_test.dart. You can see it logged many times in the log. Notably, the log does not contain a message about this test timing out at all.

My theory is that the implementation of heartbeat is flawed, or the test loading system is, in that when you reduce concurrency to 1 (which we have to do, otherwise tests fail to run at all when compiled using DDC) it still attempts to load multiple tests but they are bottlenecked by the lack of concurrency. The heartbeat watcher starts, but the tests are waiting for other tests to finish. In the example test run above, flex_test.dart starts the heartbeat, but it's stuck waiting for paginated_data_table_test.dart to finish, which counts against flex_test.dart's timeout quota.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions