• Alex Wallen's avatar
    [tool] Support `--flavor` option for `flutter install`. (#114048) · 7020f59a
    Alex Wallen authored
    * Alphabetize setup calls
    
    * Add --flavor as an option for install
    
    * Add verbose logging in install command
    
    * Test that flavors build succeeds with proper flavor and fails with bogus one.
    
    * Remove unused import
    
    * The import was used...
    
    * SQUASH
    
    * Add flavor install test
    
    * Rename test
    
    * Add flavors install integration tests
    
    * correct error message
    
    * remove unused imports
    
    * Delete copy test
    
    * update test target
    
    * Refactor mechanism to read buildInfo
    
    * Remove unused import
    
    * Set affected test targets to bringup: true
    Co-authored-by: 's avatara-wallen <stephenwallen@google.com>
    7020f59a
flavors_test_ios.dart 1.48 KB
// 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.ios;
  await task(() async {
    await createFlavorsTest().call();
    await createIntegrationTestFlavorsTest().call();
    // test install and uninstall of flavors app
    await inDirectory('${flutterDirectory.path}/dev/integration_tests/flavors', () async {
      await flutter(
        'install',
        options: <String>['--flavor', 'paid'],
      );
      await flutter(
        'install',
        options: <String>['--flavor', 'paid', '--uninstall-only'],
      );
      final StringBuffer stderr = StringBuffer();
      await evalFlutter(
        'install',
        canFail: true,
        stderr: stderr,
        options: <String>['--flavor', 'bogus'],
      );

      final String stderrString = stderr.toString();
      if (!stderrString.contains('install failed, bogus flavor not found')) {
        print(stderrString);
        return TaskResult.failure('Should not succeed with bogus flavor');
      }
    });

    return TaskResult.success(null);
  });
}