From 04f8303aec771a1416c4b70cc701e24cb1c47661 Mon Sep 17 00:00:00 2001 From: Martin Kustermann Date: Mon, 21 Mar 2022 10:34:07 +0000 Subject: [PATCH] [gardening] Run subprocesses in parallel to avoid timeout for vm/dart/analyze_snapshot_binary_test We also mark the test as slow, since it does many subprocess runs. This seems to fix debug-x64 runs of this test. TEST=ci Change-Id: I98f4ac5810e6241ec08dd523747325c8669560ef Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/237689 Reviewed-by: Daco Harkes Commit-Queue: Martin Kustermann --- .../vm/dart/analyze_snapshot_binary_test.dart | 22 +++++++++++-------- .../dart_2/analyze_snapshot_binary_test.dart | 22 +++++++++++-------- runtime/tests/vm/vm.status | 2 ++ 3 files changed, 28 insertions(+), 18 deletions(-) diff --git a/runtime/tests/vm/dart/analyze_snapshot_binary_test.dart b/runtime/tests/vm/dart/analyze_snapshot_binary_test.dart index 6b735fd98432..52152d122b22 100644 --- a/runtime/tests/vm/dart/analyze_snapshot_binary_test.dart +++ b/runtime/tests/vm/dart/analyze_snapshot_binary_test.dart @@ -165,12 +165,14 @@ main() async { // extra information that needs stripping), so no need to specify // stripUtil for useAsm tests. - // Test unstripped ELF generation directly. - await testAOT(aotDillPath); - await testAOT(aotDillPath, forceDrops: true); + await Future.wait([ + // Test unstripped ELF generation directly. + testAOT(aotDillPath), + testAOT(aotDillPath, forceDrops: true), - // Test flag-stripped ELF generation. - await testAOT(aotDillPath, stripFlag: true); + // Test flag-stripped ELF generation. + testAOT(aotDillPath, stripFlag: true), + ]); // Since we can't force disassembler support after the fact when running // in PRODUCT mode, skip any --disassemble tests. Do these tests last as @@ -202,10 +204,12 @@ main() async { printSkip('assembly tests'); return; } - // Test unstripped assembly generation that is then externally stripped. - await testAOT(aotDillPath, useAsm: true); - // Test stripped assembly generation that is then externally stripped. - await testAOT(aotDillPath, useAsm: true, stripFlag: true); + await Future.wait([ + // Test unstripped assembly generation that is then externally stripped. + testAOT(aotDillPath, useAsm: true), + // Test stripped assembly generation that is then externally stripped. + testAOT(aotDillPath, useAsm: true, stripFlag: true), + ]); }); } diff --git a/runtime/tests/vm/dart_2/analyze_snapshot_binary_test.dart b/runtime/tests/vm/dart_2/analyze_snapshot_binary_test.dart index 3299251b3663..7affeec1d6b2 100644 --- a/runtime/tests/vm/dart_2/analyze_snapshot_binary_test.dart +++ b/runtime/tests/vm/dart_2/analyze_snapshot_binary_test.dart @@ -163,12 +163,14 @@ main() async { // extra information that needs stripping), so no need to specify // stripUtil for useAsm tests. - // Test unstripped ELF generation directly. - await testAOT(aotDillPath); - await testAOT(aotDillPath, forceDrops: true); + await Future.wait([ + // Test unstripped ELF generation directly. + testAOT(aotDillPath), + testAOT(aotDillPath, forceDrops: true), - // Test flag-stripped ELF generation. - await testAOT(aotDillPath, stripFlag: true); + // Test flag-stripped ELF generation. + testAOT(aotDillPath, stripFlag: true), + ]); // Since we can't force disassembler support after the fact when running // in PRODUCT mode, skip any --disassemble tests. Do these tests last as @@ -200,10 +202,12 @@ main() async { printSkip('assembly tests'); return; } - // Test unstripped assembly generation that is then externally stripped. - await testAOT(aotDillPath, useAsm: true); - // Test stripped assembly generation that is then externally stripped. - await testAOT(aotDillPath, useAsm: true, stripFlag: true); + await Future.wait([ + // Test unstripped assembly generation that is then externally stripped. + testAOT(aotDillPath, useAsm: true), + // Test stripped assembly generation that is then externally stripped. + testAOT(aotDillPath, useAsm: true, stripFlag: true), + ]); }); } diff --git a/runtime/tests/vm/vm.status b/runtime/tests/vm/vm.status index 098371e2d19c..1f5066c31fb6 100644 --- a/runtime/tests/vm/vm.status +++ b/runtime/tests/vm/vm.status @@ -11,6 +11,7 @@ cc/IsolateReload_PendingStaticCall_DefinedToNSM: Fail # Issue 32981 cc/IsolateReload_PendingStaticCall_NSMToDefined: Fail, Crash # Issue 32981. Fails on non-Windows, crashes on Windows (because of test.py special handline) cc/IsolateReload_PendingUnqualifiedCall_InstanceToStatic: Fail # Issue 32981 cc/IsolateReload_PendingUnqualifiedCall_StaticToInstance: Fail # Issue 32981 +dart/analyze_snapshot_binary_test: Pass, Slow # Runs various subprocesses for testing AOT. dart/boxmint_test: Pass, Slow # Uses slow path dart/byte_array_optimized_test: Pass, Slow dart/data_uri_import_test/none: SkipByDesign @@ -25,6 +26,7 @@ dart/print_object_layout_test: Pass, Slow # Spawns several subprocesses dart/slow_path_shared_stub_test: Pass, Slow # Uses --shared-slow-path-triggers-gc flag. dart/snapshot_version_test: Skip # This test is a Dart1 test (script snapshot) dart/stack_overflow_shared_test: Pass, Slow # Uses --shared-slow-path-triggers-gc flag. +dart_2/analyze_snapshot_binary_test: Pass, Slow # Runs various subprocesses for testing AOT. dart_2/boxmint_test: Pass, Slow # Uses slow path dart_2/byte_array_optimized_test: Pass, Slow dart_2/data_uri_import_test/none: SkipByDesign