From 657bca4b7f1d92182b9ffb4631dfc26efdfc5656 Mon Sep 17 00:00:00 2001 From: Zachary Anderson Date: Wed, 26 Jan 2022 11:30:20 -0800 Subject: [PATCH] [tool] Use an arm64 Dart SDK on arm64 macOS (#97189) --- bin/internal/update_dart_sdk.sh | 2 +- .../test/integration.shard/cache_test.dart | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/bin/internal/update_dart_sdk.sh b/bin/internal/update_dart_sdk.sh index 6f07d75997..3324880a60 100755 --- a/bin/internal/update_dart_sdk.sh +++ b/bin/internal/update_dart_sdk.sh @@ -71,7 +71,7 @@ if [ ! -f "$ENGINE_STAMP" ] || [ "$ENGINE_VERSION" != `cat "$ENGINE_STAMP"` ]; t case "$(uname -s)" in Darwin) - DART_ZIP_NAME="dart-sdk-darwin-x64.zip" + DART_ZIP_NAME="dart-sdk-darwin-${ARCH}.zip" IS_USER_EXECUTABLE="-perm +100" ;; Linux) diff --git a/packages/flutter_tools/test/integration.shard/cache_test.dart b/packages/flutter_tools/test/integration.shard/cache_test.dart index 962d02e2f2..0e14a0c75a 100644 --- a/packages/flutter_tools/test/integration.shard/cache_test.dart +++ b/packages/flutter_tools/test/integration.shard/cache_test.dart @@ -113,6 +113,25 @@ exit(0); expect(logger.hadWarningOutput, isTrue); }); }); + + testWithoutContext('Dart SDK target arch matches host arch', () async { + if (platform.isWindows) { + return; + } + final ProcessResult dartResult = await const LocalProcessManager().run( + [dart, '--version'], + ); + // Parse 'arch' out of a string like '... "os_arch"\n'. + final String dartTargetArch = (dartResult.stdout as String) + .trim().split(' ').last.replaceAll('"', '').split('_')[1]; + final ProcessResult unameResult = await const LocalProcessManager().run( + ['uname', '-m'], + ); + final String unameArch = (unameResult.stdout as String) + .trim().replaceAll('aarch64', 'arm64') + .replaceAll('x86_64', 'x64'); + expect(dartTargetArch, equals(unameArch)); + }); } class FakeArtifactUpdater extends Fake implements ArtifactUpdater {