| // 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_tools/src/base/file_system.dart'; |
| import 'package:flutter_tools/src/base/io.dart'; |
| |
| import '../src/common.dart'; |
| import 'test_utils.dart'; |
| |
| final String flutterBin = fileSystem.path.join(getFlutterRoot(), 'bin', platform.isWindows ? 'flutter.bat' : 'flutter'); |
| |
| void main() { |
| Directory tempDir; |
| setUpAll(() { |
| tempDir = createResolvedTempDirectorySync('int_test.'); |
| }); |
| |
| tearDownAll(() { |
| tryToDelete(tempDir); |
| }); |
| |
| testWithoutContext('flutter project default integration_test smoke test', () async { |
| const String projectName = 'integration_test_sample'; |
| ProcessResult result = await processManager.run( |
| <String>[ |
| flutterBin, |
| 'create', |
| projectName, |
| ], |
| workingDirectory: tempDir.path, |
| ); |
| |
| expect(result.exitCode, 0); |
| |
| final Directory projectDir = tempDir.childDirectory(projectName); |
| expect(projectDir.existsSync(), true); |
| final Directory integrationTestDir = projectDir.childDirectory('integration_test'); |
| expect(integrationTestDir.existsSync(), true); |
| expect(integrationTestDir.childFile('driver.dart').existsSync(), true); |
| expect(integrationTestDir.childFile('app_test.dart').existsSync(), true); |
| |
| result = await processManager.run( |
| <String>[ |
| flutterBin, |
| 'drive', |
| '-d', 'flutter-tester', |
| '--driver', 'integration_test/driver.dart', |
| '-t', 'integration_test/app_test.dart', |
| ], |
| workingDirectory: projectDir.path, |
| ); |
| |
| if (result.exitCode != 0) { |
| print('================================= STDOUT ======================================='); |
| print(result.stdout); |
| print('================================= STDERR ======================================='); |
| print(result.stderr); |
| fail('flutter drive failed, see output.'); |
| } |
| }); |
| } |