diff --git a/.ci.yaml b/.ci.yaml index 5e84be2220c..b58dcbc71b6 100644 --- a/.ci.yaml +++ b/.ci.yaml @@ -2668,20 +2668,6 @@ targets: - bin/** - .ci.yaml - - name: Mac flavors_test_macos - bringup: true - recipe: devicelab/devicelab_drone - timeout: 60 - properties: - dependencies: >- - [ - {"dependency": "xcode", "version": "14a5294e"}, - {"dependency": "gems", "version": "v3.3.14"} - ] - tags: > - ["devicelab", "hostonly", "mac"] - task_name: flavors_test_macos - - name: Mac flutter_gallery_macos__compile presubmit: false recipe: devicelab/devicelab_drone diff --git a/TESTOWNERS b/TESTOWNERS index 4940c642a57..37a6425f1bc 100644 --- a/TESTOWNERS +++ b/TESTOWNERS @@ -220,7 +220,6 @@ /dev/devicelab/bin/tasks/complex_layout_win_desktop__start_up.dart @yaakovschectman @flutter/desktop /dev/devicelab/bin/tasks/dart_plugin_registry_test.dart @stuartmorgan @flutter/plugin /dev/devicelab/bin/tasks/entrypoint_dart_registrant.dart @aaclarke @flutter/plugin -/dev/devicelab/bin/tasks/flavors_test_macos.dart @a-wallen @flutter/desktop /dev/devicelab/bin/tasks/flutter_gallery_macos__compile.dart @a-wallen @flutter/desktop /dev/devicelab/bin/tasks/flutter_gallery_macos__start_up.dart @a-wallen @flutter/desktop /dev/devicelab/bin/tasks/flutter_gallery_win_desktop__compile.dart @yaakovschectman @flutter/desktop diff --git a/dev/devicelab/bin/tasks/flavors_test_macos.dart b/dev/devicelab/bin/tasks/flavors_test_macos.dart deleted file mode 100644 index 346bc31a19c..00000000000 --- a/dev/devicelab/bin/tasks/flavors_test_macos.dart +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter_devicelab/framework/devices.dart'; -import 'package:flutter_devicelab/framework/framework.dart'; -import 'package:flutter_devicelab/framework/task_result.dart'; -import 'package:flutter_devicelab/framework/utils.dart'; -import 'package:flutter_devicelab/tasks/integration_tests.dart'; - -Future main() async { - deviceOperatingSystem = DeviceOperatingSystem.macos; - await task(() async { - await createFlavorsTest().call(); - await createIntegrationTestFlavorsTest().call(); - - await inDirectory('${flutterDirectory.path}/dev/integration_tests/flavors', () async { - final StringBuffer stderr = StringBuffer(); - - await evalFlutter( - 'install', - canFail: true, - stderr: stderr, - options: [ - '--d', 'macos', - '--flavor', 'free' - ], - ); - - final String stderrString = stderr.toString(); - if (!stderrString.contains('Host and target are the same. Nothing to install.')) { - print(stderrString); - return TaskResult.failure('Installing a macOS app on macOS should no-op'); - } - }); - - return TaskResult.success(null); - }); -} diff --git a/dev/integration_tests/flavors/macos/Runner.xcodeproj/project.pbxproj b/dev/integration_tests/flavors/macos/Runner.xcodeproj/project.pbxproj index dff962e5a13..af934cb2aa8 100644 --- a/dev/integration_tests/flavors/macos/Runner.xcodeproj/project.pbxproj +++ b/dev/integration_tests/flavors/macos/Runner.xcodeproj/project.pbxproj @@ -651,7 +651,6 @@ "@executable_path/../Frameworks", ); PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.flavors.free; - PRODUCT_FLAVOR = free; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -674,7 +673,6 @@ "@executable_path/../Frameworks", ); PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.flavors.free; - PRODUCT_FLAVOR = free; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 5.0; diff --git a/packages/flutter_tools/bin/macos_assemble.sh b/packages/flutter_tools/bin/macos_assemble.sh index f4df20b9bf6..8c5934a3da1 100755 --- a/packages/flutter_tools/bin/macos_assemble.sh +++ b/packages/flutter_tools/bin/macos_assemble.sh @@ -17,32 +17,6 @@ EchoError() { echo "$@" 1>&2 } -ParseFlutterBuildMode() { - # Use FLUTTER_BUILD_MODE if it's set, otherwise use the Xcode build configuration name - # This means that if someone wants to use an Xcode build config other than Debug/Profile/Release, - # they _must_ set FLUTTER_BUILD_MODE so we know what type of artifact to build. - local build_mode="$(echo "${FLUTTER_BUILD_MODE:-${CONFIGURATION}}" | tr "[:upper:]" "[:lower:]")" - - case "$build_mode" in - *release*) build_mode="release";; - *profile*) build_mode="profile";; - *debug*) build_mode="debug";; - *) - EchoError "========================================================================" - EchoError "ERROR: Unknown FLUTTER_BUILD_MODE: ${build_mode}." - EchoError "Valid values are 'Debug', 'Profile', or 'Release' (case insensitive)." - EchoError "This is controlled by the FLUTTER_BUILD_MODE environment variable." - EchoError "If that is not set, the CONFIGURATION environment variable is used." - EchoError "" - EchoError "You can fix this by either adding an appropriately named build" - EchoError "configuration, or adding an appropriate value for FLUTTER_BUILD_MODE to the" - EchoError ".xcconfig file for the current build configuration (${CONFIGURATION})." - EchoError "========================================================================" - exit -1;; - esac - echo "${build_mode}" -} - BuildApp() { # Set the working directory to the project root local project_path="${SOURCE_ROOT}/.." @@ -54,10 +28,8 @@ BuildApp() { target_path="${FLUTTER_TARGET}" fi - # Use FLUTTER_BUILD_MODE if it's set, otherwise use the Xcode build configuration name - # This means that if someone wants to use an Xcode build config other than Debug/Profile/Release, - # they _must_ set FLUTTER_BUILD_MODE so we know what type of artifact to build. - local build_mode="$(ParseFlutterBuildMode)" + # Set the build mode + local build_mode="$(echo "${FLUTTER_BUILD_MODE:-${CONFIGURATION}}" | tr "[:upper:]" "[:lower:]")" if [[ -n "$LOCAL_ENGINE" ]]; then if [[ $(echo "$LOCAL_ENGINE" | tr "[:upper:]" "[:lower:]") != *"$build_mode"* ]]; then diff --git a/packages/flutter_tools/lib/src/commands/install.dart b/packages/flutter_tools/lib/src/commands/install.dart index 7e3c578996f..9bff80a3c27 100644 --- a/packages/flutter_tools/lib/src/commands/install.dart +++ b/packages/flutter_tools/lib/src/commands/install.dart @@ -50,11 +50,6 @@ class InstallCommand extends FlutterCommand with DeviceBasedDevelopmentArtifacts if (device == null) { throwToolExit('No target device found'); } - - if (!device!.supportsInstall) { - throwToolExit('Host and target are the same. Nothing to install.'); - } - if (userIdentifier != null && device is! AndroidDevice) { throwToolExit('--${FlutterOptions.kDeviceUser} is only supported for Android'); } diff --git a/packages/flutter_tools/lib/src/desktop_device.dart b/packages/flutter_tools/lib/src/desktop_device.dart index 94263e76630..c60abbd15c9 100644 --- a/packages/flutter_tools/lib/src/desktop_device.dart +++ b/packages/flutter_tools/lib/src/desktop_device.dart @@ -104,9 +104,6 @@ abstract class DesktopDevice extends Device { @override void clearLogs() {} - @override - bool get supportsInstall => false; - @override Future startApp( ApplicationPackage package, { @@ -126,9 +123,9 @@ abstract class DesktopDevice extends Device { } // Ensure that the executable is locatable. - final BuildInfo buildInfo = debuggingOptions.buildInfo; + final BuildMode buildMode = debuggingOptions.buildInfo.mode; final bool traceStartup = platformArgs['trace-startup'] as bool? ?? false; - final String? executable = executablePathForDevice(package, buildInfo); + final String? executable = executablePathForDevice(package, buildMode); if (executable == null) { _logger.printError('Unable to find executable to run'); return LaunchResult.failed(); @@ -164,7 +161,7 @@ abstract class DesktopDevice extends Device { try { final Uri? observatoryUri = await observatoryDiscovery.uri; if (observatoryUri != null) { - onAttached(package, buildInfo, process); + onAttached(package, buildMode, process); return LaunchResult.succeeded(observatoryUri: observatoryUri); } _logger.printError( @@ -206,11 +203,11 @@ abstract class DesktopDevice extends Device { /// Returns the path to the executable to run for [package] on this device for /// the given [buildMode]. - String? executablePathForDevice(ApplicationPackage package, BuildInfo buildInfo); + String? executablePathForDevice(ApplicationPackage package, BuildMode buildMode); /// Called after a process is attached, allowing any device-specific extra /// steps to be run. - void onAttached(ApplicationPackage package, BuildInfo buildInfo, Process process) {} + void onAttached(ApplicationPackage package, BuildMode buildMode, Process process) {} /// Computes a set of environment variables used to pass debugging information /// to the engine without interfering with application level command line diff --git a/packages/flutter_tools/lib/src/device.dart b/packages/flutter_tools/lib/src/device.dart index 1dd58e7a0d6..67e6cab36cb 100644 --- a/packages/flutter_tools/lib/src/device.dart +++ b/packages/flutter_tools/lib/src/device.dart @@ -579,10 +579,6 @@ abstract class Device { /// Whether the device supports the '--fast-start' development mode. bool get supportsFastStart => false; - /// Whether this device supports the installation of a flutter app via - /// `flutter install`. - bool get supportsInstall => true; - /// Stop an app package on the current device. /// /// Specify [userIdentifier] to stop app installed to a profile (Android only). diff --git a/packages/flutter_tools/lib/src/linux/linux_device.dart b/packages/flutter_tools/lib/src/linux/linux_device.dart index 8e6b141a949..b017389bc63 100644 --- a/packages/flutter_tools/lib/src/linux/linux_device.dart +++ b/packages/flutter_tools/lib/src/linux/linux_device.dart @@ -70,8 +70,8 @@ class LinuxDevice extends DesktopDevice { } @override - String executablePathForDevice(covariant LinuxApp package, BuildInfo buildInfo) { - return package.executable(buildInfo.mode); + String executablePathForDevice(covariant LinuxApp package, BuildMode buildMode) { + return package.executable(buildMode); } } diff --git a/packages/flutter_tools/lib/src/macos/application_package.dart b/packages/flutter_tools/lib/src/macos/application_package.dart index 3debf609f62..37fb60cee4b 100644 --- a/packages/flutter_tools/lib/src/macos/application_package.dart +++ b/packages/flutter_tools/lib/src/macos/application_package.dart @@ -106,9 +106,9 @@ abstract class MacOSApp extends ApplicationPackage { @override String get displayName => id; - String? applicationBundle(BuildInfo buildInfo); + String? applicationBundle(BuildMode buildMode); - String? executable(BuildInfo buildInfo); + String? executable(BuildMode buildMode); } class PrebuiltMacOSApp extends MacOSApp implements PrebuiltApplicationPackage { @@ -135,10 +135,10 @@ class PrebuiltMacOSApp extends MacOSApp implements PrebuiltApplicationPackage { String get name => bundleName; @override - String? applicationBundle(BuildInfo buildInfo) => uncompressedBundle.path; + String? applicationBundle(BuildMode buildMode) => uncompressedBundle.path; @override - String? executable(BuildInfo buildInfo) => _executable; + String? executable(BuildMode buildMode) => _executable; /// A [File] or [Directory] pointing to the application bundle. /// @@ -156,30 +156,23 @@ class BuildableMacOSApp extends MacOSApp { String get name => 'macOS'; @override - String? applicationBundle(BuildInfo buildInfo) { + String? applicationBundle(BuildMode buildMode) { final File appBundleNameFile = project.nameFile; if (!appBundleNameFile.existsSync()) { globals.printError('Unable to find app name. ${appBundleNameFile.path} does not exist'); return null; } - return globals.fs.path.join( getMacOSBuildDirectory(), 'Build', 'Products', - bundleDirectory(buildInfo), + sentenceCase(getNameForBuildMode(buildMode)), appBundleNameFile.readAsStringSync().trim()); } - String bundleDirectory(BuildInfo buildInfo) { - return sentenceCase(buildInfo.mode.name) + (buildInfo.flavor != null - ? ' ${sentenceCase(buildInfo.flavor!)}' - : ''); - } - @override - String? executable(BuildInfo buildInfo) { - final String? directory = applicationBundle(buildInfo); + String? executable(BuildMode buildMode) { + final String? directory = applicationBundle(buildMode); if (directory == null) { return null; } diff --git a/packages/flutter_tools/lib/src/macos/build_macos.dart b/packages/flutter_tools/lib/src/macos/build_macos.dart index 9a74f5e47fb..57a73097447 100644 --- a/packages/flutter_tools/lib/src/macos/build_macos.dart +++ b/packages/flutter_tools/lib/src/macos/build_macos.dart @@ -114,7 +114,7 @@ Future buildMacOS({ 'xcodebuild', '-workspace', xcodeWorkspace.path, '-configuration', configuration, - '-scheme', scheme, + '-scheme', 'Runner', '-derivedDataPath', flutterBuildDir.absolute.path, '-destination', 'platform=macOS', 'OBJROOT=${globals.fs.path.join(flutterBuildDir.absolute.path, 'Build', 'Intermediates.noindex')}', diff --git a/packages/flutter_tools/lib/src/macos/macos_device.dart b/packages/flutter_tools/lib/src/macos/macos_device.dart index 1de3ad9ce5d..8ed98fa7588 100644 --- a/packages/flutter_tools/lib/src/macos/macos_device.dart +++ b/packages/flutter_tools/lib/src/macos/macos_device.dart @@ -78,17 +78,17 @@ class MacOSDevice extends DesktopDevice { } @override - String? executablePathForDevice(covariant MacOSApp package, BuildInfo buildInfo) { - return package.executable(buildInfo); + String? executablePathForDevice(covariant MacOSApp package, BuildMode buildMode) { + return package.executable(buildMode); } @override - void onAttached(covariant MacOSApp package, BuildInfo buildInfo, Process process) { + void onAttached(covariant MacOSApp package, BuildMode buildMode, Process process) { // Bring app to foreground. Ideally this would be done post-launch rather // than post-attach, since this won't run for release builds, but there's // no general-purpose way of knowing when a process is far enough along in // the launch process for 'open' to foreground it. - final String? applicationBundle = package.applicationBundle(buildInfo); + final String? applicationBundle = package.applicationBundle(buildMode); if (applicationBundle == null) { _logger.printError('Failed to foreground app; application bundle not found'); return; diff --git a/packages/flutter_tools/lib/src/macos/macos_ipad_device.dart b/packages/flutter_tools/lib/src/macos/macos_ipad_device.dart index a8a61de44d1..53584362908 100644 --- a/packages/flutter_tools/lib/src/macos/macos_ipad_device.dart +++ b/packages/flutter_tools/lib/src/macos/macos_ipad_device.dart @@ -54,7 +54,7 @@ class MacOSDesignedForIPadDevice extends DesktopDevice { } @override - String? executablePathForDevice(ApplicationPackage package, BuildInfo buildInfo) => null; + String? executablePathForDevice(ApplicationPackage package, BuildMode buildMode) => null; @override Future startApp( diff --git a/packages/flutter_tools/lib/src/windows/windows_device.dart b/packages/flutter_tools/lib/src/windows/windows_device.dart index d94b8bbaef0..8be33169331 100644 --- a/packages/flutter_tools/lib/src/windows/windows_device.dart +++ b/packages/flutter_tools/lib/src/windows/windows_device.dart @@ -61,8 +61,8 @@ class WindowsDevice extends DesktopDevice { } @override - String executablePathForDevice(covariant WindowsApp package, BuildInfo buildInfo) { - return package.executable(buildInfo.mode); + String executablePathForDevice(covariant WindowsApp package, BuildMode buildMode) { + return package.executable(buildMode); } } diff --git a/packages/flutter_tools/test/commands.shard/hermetic/install_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/install_test.dart index de773390816..0305c95fa21 100644 --- a/packages/flutter_tools/test/commands.shard/hermetic/install_test.dart +++ b/packages/flutter_tools/test/commands.shard/hermetic/install_test.dart @@ -157,12 +157,6 @@ class FakeIOSDevice extends Fake implements IOSDevice { IOSApp app, { String? userIdentifier, }) async => true; - - @override - String get name => 'iOS'; - - @override - bool get supportsInstall => true; } // Unfortunately Device, despite not being immutable, has an `operator ==`. @@ -183,10 +177,4 @@ class FakeAndroidDevice extends Fake implements AndroidDevice { AndroidApk app, { String? userIdentifier, }) async => true; - - @override - String get name => 'Android'; - - @override - bool get supportsInstall => true; } diff --git a/packages/flutter_tools/test/general.shard/desktop_device_test.dart b/packages/flutter_tools/test/general.shard/desktop_device_test.dart index ea6cde61229..449b40f88c5 100644 --- a/packages/flutter_tools/test/general.shard/desktop_device_test.dart +++ b/packages/flutter_tools/test/general.shard/desktop_device_test.dart @@ -86,7 +86,7 @@ void main() { ), ]); final FakeDesktopDevice device = setUpDesktopDevice(processManager: processManager, fileSystem: fileSystem); - final String? executableName = device.executablePathForDevice(FakeApplicationPackage(), BuildInfo.debug); + final String? executableName = device.executablePathForDevice(FakeApplicationPackage(), BuildMode.debug); fileSystem.file(executableName).writeAsStringSync('\n'); final FakeApplicationPackage package = FakeApplicationPackage(); final LaunchResult result = await device.startApp( @@ -367,11 +367,11 @@ class FakeDesktopDevice extends DesktopDevice { // Dummy implementation that just returns the build mode name. @override - String? executablePathForDevice(ApplicationPackage package, BuildInfo buildInfo) { + String? executablePathForDevice(ApplicationPackage package, BuildMode buildMode) { if (nullExecutablePathForDevice) { return null; } - return buildInfo == null ? 'null' : getNameForBuildMode(buildInfo.mode); + return buildMode == null ? 'null' : getNameForBuildMode(buildMode); } } diff --git a/packages/flutter_tools/test/general.shard/linux/linux_device_test.dart b/packages/flutter_tools/test/general.shard/linux/linux_device_test.dart index 79bf8d2e9ac..22cecda9f8c 100644 --- a/packages/flutter_tools/test/general.shard/linux/linux_device_test.dart +++ b/packages/flutter_tools/test/general.shard/linux/linux_device_test.dart @@ -154,9 +154,9 @@ void main() { operatingSystemUtils: FakeOperatingSystemUtils(), ); - expect(device.executablePathForDevice(mockApp, BuildInfo.debug), 'debug/executable'); - expect(device.executablePathForDevice(mockApp, BuildInfo.profile), 'profile/executable'); - expect(device.executablePathForDevice(mockApp, BuildInfo.release), 'release/executable'); + expect(device.executablePathForDevice(mockApp, BuildMode.debug), 'debug/executable'); + expect(device.executablePathForDevice(mockApp, BuildMode.profile), 'profile/executable'); + expect(device.executablePathForDevice(mockApp, BuildMode.release), 'release/executable'); }); } diff --git a/packages/flutter_tools/test/general.shard/macos/application_package_test.dart b/packages/flutter_tools/test/general.shard/macos/application_package_test.dart index 40652afe0f7..57e11ffb6a2 100644 --- a/packages/flutter_tools/test/general.shard/macos/application_package_test.dart +++ b/packages/flutter_tools/test/general.shard/macos/application_package_test.dart @@ -10,7 +10,6 @@ import 'package:flutter_tools/src/base/file_system.dart'; import 'package:flutter_tools/src/base/logger.dart'; import 'package:flutter_tools/src/base/os.dart'; import 'package:flutter_tools/src/base/utils.dart'; -import 'package:flutter_tools/src/build_info.dart'; import 'package:flutter_tools/src/globals.dart' as globals; import 'package:flutter_tools/src/ios/plist_parser.dart'; import 'package:flutter_tools/src/macos/application_package.dart'; @@ -156,20 +155,6 @@ group('PrebuiltMacOSApp', () { expect(macosApp.id, 'com.example.placeholder'); expect(macosApp.name, 'macOS'); }, overrides: overrides); - - testUsingContext('Chooses the correct directory for application.', () { - final MacOSProject project = FlutterProject.fromDirectory(globals.fs.currentDirectory).macos; - final BuildableMacOSApp macosApp = MacOSApp.fromMacOSProject(project) as BuildableMacOSApp; - - const BuildInfo vanillaApp = BuildInfo(BuildMode.debug, null, treeShakeIcons: false); - String? applicationBundle = macosApp.bundleDirectory(vanillaApp); - expect(applicationBundle, 'Debug'); - - const BuildInfo flavoredApp = BuildInfo(BuildMode.release, 'flavor', treeShakeIcons: false); - applicationBundle = macosApp.bundleDirectory(flavoredApp); - expect(applicationBundle, 'Release Flavor'); - - }, overrides: overrides); }); } diff --git a/packages/flutter_tools/test/general.shard/macos/macos_device_test.dart b/packages/flutter_tools/test/general.shard/macos/macos_device_test.dart index 6d20cc870e4..1900c2648e8 100644 --- a/packages/flutter_tools/test/general.shard/macos/macos_device_test.dart +++ b/packages/flutter_tools/test/general.shard/macos/macos_device_test.dart @@ -235,9 +235,9 @@ void main() { const String profilePath = 'profile/executable'; const String releasePath = 'release/executable'; - expect(device.executablePathForDevice(package, BuildInfo.debug), debugPath); - expect(device.executablePathForDevice(package, BuildInfo.profile), profilePath); - expect(device.executablePathForDevice(package, BuildInfo.release), releasePath); + expect(device.executablePathForDevice(package, BuildMode.debug), debugPath); + expect(device.executablePathForDevice(package, BuildMode.profile), profilePath); + expect(device.executablePathForDevice(package, BuildMode.release), releasePath); }); } @@ -251,13 +251,13 @@ FlutterProject setUpFlutterProject(Directory directory) { class FakeMacOSApp extends Fake implements MacOSApp { @override - String executable(BuildInfo buildInfo) { - switch (buildInfo) { - case BuildInfo.debug: + String executable(BuildMode buildMode) { + switch (buildMode) { + case BuildMode.debug: return 'debug/executable'; - case BuildInfo.profile: + case BuildMode.profile: return 'profile/executable'; - case BuildInfo.release: + case BuildMode.release: return 'release/executable'; default: throw StateError(''); diff --git a/packages/flutter_tools/test/general.shard/macos/macos_ipad_device_test.dart b/packages/flutter_tools/test/general.shard/macos/macos_ipad_device_test.dart index 01493f5fb87..b5a9aafb71b 100644 --- a/packages/flutter_tools/test/general.shard/macos/macos_ipad_device_test.dart +++ b/packages/flutter_tools/test/general.shard/macos/macos_ipad_device_test.dart @@ -142,7 +142,7 @@ void main() { throwsA(isA()), ); await expectLater(() => device.buildForDevice(buildInfo: BuildInfo.debug), throwsA(isA())); - expect(device.executablePathForDevice(FakeIOSApp(), BuildInfo.debug), null); + expect(device.executablePathForDevice(FakeIOSApp(), BuildMode.debug), null); }); } diff --git a/packages/flutter_tools/test/general.shard/windows/windows_device_test.dart b/packages/flutter_tools/test/general.shard/windows/windows_device_test.dart index 99387e676fa..5de2d541ac9 100644 --- a/packages/flutter_tools/test/general.shard/windows/windows_device_test.dart +++ b/packages/flutter_tools/test/general.shard/windows/windows_device_test.dart @@ -101,9 +101,9 @@ void main() { final WindowsDevice windowsDevice = setUpWindowsDevice(); final FakeWindowsApp fakeApp = FakeWindowsApp(); - expect(windowsDevice.executablePathForDevice(fakeApp, BuildInfo.debug), 'debug/executable'); - expect(windowsDevice.executablePathForDevice(fakeApp, BuildInfo.profile), 'profile/executable'); - expect(windowsDevice.executablePathForDevice(fakeApp, BuildInfo.release), 'release/executable'); + expect(windowsDevice.executablePathForDevice(fakeApp, BuildMode.debug), 'debug/executable'); + expect(windowsDevice.executablePathForDevice(fakeApp, BuildMode.profile), 'profile/executable'); + expect(windowsDevice.executablePathForDevice(fakeApp, BuildMode.release), 'release/executable'); }); }