| // 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<void> 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: <String>[ |
| '--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); |
| }); |
| } |