From 88eca6c1ceab3ef1de46bc3aab18931db55784af Mon Sep 17 00:00:00 2001 From: Jenn Magder Date: Tue, 19 Apr 2022 13:29:06 -0700 Subject: [PATCH] Fail integration test if expected bitcode markers not found (#102016) --- dev/devicelab/bin/tasks/module_test_ios.dart | 4 ++-- dev/devicelab/lib/framework/ios.dart | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/dev/devicelab/bin/tasks/module_test_ios.dart b/dev/devicelab/bin/tasks/module_test_ios.dart index f61edf43bc..996540989a 100644 --- a/dev/devicelab/bin/tasks/module_test_ios.dart +++ b/dev/devicelab/bin/tasks/module_test_ios.dart @@ -462,7 +462,7 @@ end if ((await fileType(builtFlutterBinary)).contains('armv7')) { throw TaskResult.failure('Unexpected armv7 architecture slice in $builtFlutterBinary'); } - await containsBitcode(builtFlutterBinary); + await checkContainsBitcode(builtFlutterBinary); final String builtAppBinary = path.join( archivedAppPath, @@ -474,7 +474,7 @@ end if ((await fileType(builtAppBinary)).contains('armv7')) { throw TaskResult.failure('Unexpected armv7 architecture slice in $builtAppBinary'); } - await containsBitcode(builtAppBinary); + await checkContainsBitcode(builtAppBinary); // The host app example builds plugins statically, url_launcher_ios.framework // should not exist. diff --git a/dev/devicelab/lib/framework/ios.dart b/dev/devicelab/lib/framework/ios.dart index 2a384edbe2..275781247a 100644 --- a/dev/devicelab/lib/framework/ios.dart +++ b/dev/devicelab/lib/framework/ios.dart @@ -8,6 +8,7 @@ import 'dart:io'; import 'package:path/path.dart' as path; import 'host_agent.dart'; +import 'task_result.dart'; import 'utils.dart'; typedef SimulatorFunction = Future Function(String deviceId); @@ -84,6 +85,12 @@ Future containsBitcode(String pathToBinary) async { return !emptyBitcodeMarkerFound; } +Future checkContainsBitcode(String pathToBinary) async { + if (!await containsBitcode(pathToBinary)) { + throw TaskResult.failure('Expected bitcode in $pathToBinary'); + } +} + /// Creates and boots a new simulator, passes the new simulator's identifier to /// `testFunction`. ///