From 5ec221fa63f0a7df22dd453dc07e3c1234093f27 Mon Sep 17 00:00:00 2001 From: Godofredo Contreras Date: Tue, 14 Apr 2020 11:17:55 -0700 Subject: [PATCH 1/2] Fix image_paver tests flake. The flake was caused because the async pave method was call without an await. --- .../fuchsia_ctl/test/image_paver_test.dart | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/fuchsia_ctl/test/image_paver_test.dart b/packages/fuchsia_ctl/test/image_paver_test.dart index ca9f42890867..805b2ab7cfc4 100644 --- a/packages/fuchsia_ctl/test/image_paver_test.dart +++ b/packages/fuchsia_ctl/test/image_paver_test.dart @@ -102,14 +102,16 @@ void main() { processManager: processManager, ); - expect( - paver.pave( - 'generic-x64.tgz', - deviceName, - verbose: false, - timeoutMs: const Duration(milliseconds: 1), - ), - throwsA(const TypeMatcher())); + try { + await paver.pave( + 'generic-x64.tgz', + deviceName, + verbose: false, + timeoutMs: const Duration(milliseconds: 1), + ); + } catch (e) { + expect(e, isA()); + } }); test('Happy path', () async { From 56481aa109405b143254f2c88bd2a9bea9adadcd Mon Sep 17 00:00:00 2001 From: Godofredo Contreras Date: Tue, 14 Apr 2020 11:52:57 -0700 Subject: [PATCH 2/2] Force the mock to return a future instead of null. --- packages/fuchsia_ctl/test/image_paver_test.dart | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/fuchsia_ctl/test/image_paver_test.dart b/packages/fuchsia_ctl/test/image_paver_test.dart index 805b2ab7cfc4..38ca0e52c912 100644 --- a/packages/fuchsia_ctl/test/image_paver_test.dart +++ b/packages/fuchsia_ctl/test/image_paver_test.dart @@ -91,8 +91,9 @@ void main() { tar = FakeTar(true, fs); when(processManager.start(any)).thenAnswer((_) async { - await Future.delayed(const Duration(milliseconds: 3)); - return null; + return Future.delayed(const Duration(milliseconds: 10), () { + return FakeProcess(0, ['Good job'], ['']); + }); }); final ImagePaver paver = ImagePaver(