Commit 39e741df authored by Yegor's avatar Yegor

[tools] remove --flutter-repo flag in `flutter test` (#3728)

parent 32bbbc64
...@@ -83,7 +83,6 @@ Flutter tests use [package:flutter_test](https://github.com/flutter/flutter/tree ...@@ -83,7 +83,6 @@ Flutter tests use [package:flutter_test](https://github.com/flutter/flutter/tree
* `cd packages/flutter_tools` * `cd packages/flutter_tools`
* `dart test/all.dart` * `dart test/all.dart`
`flutter test --flutter-repo` is a shortcut for those working on the flutter repository itself which runs all tests inside the `flutter` package regardless of the current working directory.
To run all the tests for the entire Flutter repository, the same way that Travis runs them, run `travis/test.sh`. To run all the tests for the entire Flutter repository, the same way that Travis runs them, run `travis/test.sh`.
If you've built [your own flutter engine](#working-on-the-engine-and-the-framework-at-the-same-time), you can pass `--engine-debug` or `--engine-release` to change what flutter shell `flutter test` uses. If you've built [your own flutter engine](#working-on-the-engine-and-the-framework-at-the-same-time), you can pass `--engine-debug` or `--engine-release` to change what flutter shell `flutter test` uses.
......
...@@ -11,17 +11,11 @@ import 'package:test/src/executable.dart' as executable; // ignore: implementati ...@@ -11,17 +11,11 @@ import 'package:test/src/executable.dart' as executable; // ignore: implementati
import '../artifacts.dart'; import '../artifacts.dart';
import '../build_configuration.dart'; import '../build_configuration.dart';
import '../globals.dart'; import '../globals.dart';
import '../package_map.dart';
import '../runner/flutter_command.dart'; import '../runner/flutter_command.dart';
import '../test/flutter_platform.dart' as loader; import '../test/flutter_platform.dart' as loader;
class TestCommand extends FlutterCommand { class TestCommand extends FlutterCommand {
TestCommand() { TestCommand() {
argParser.addFlag(
'flutter-repo',
help: 'Run tests from the \'flutter\' package in the Flutter repository instead of the current directory.',
defaultsTo: false
);
usesPubOption(); usesPubOption();
} }
...@@ -31,20 +25,17 @@ class TestCommand extends FlutterCommand { ...@@ -31,20 +25,17 @@ class TestCommand extends FlutterCommand {
@override @override
String get description => 'Run Flutter unit tests for the current project (Linux only).'; String get description => 'Run Flutter unit tests for the current project (Linux only).';
@override
bool get shouldRunPub => !argResults['flutter-repo'] && super.shouldRunPub;
@override @override
bool get requiresProjectRoot => false; bool get requiresProjectRoot => false;
@override @override
Validator projectRootValidator = () { Validator projectRootValidator = () {
if (!FileSystemEntity.isFileSync('pubspec.yaml')) { if (!FileSystemEntity.isFileSync('pubspec.yaml')) {
printError('Error: No pubspec.yaml file found.\n' printError(
'If you wish to run the tests in the Flutter repository\'s \'flutter\' package,\n' 'Error: No pubspec.yaml file found in the current working directory.\n'
'pass --flutter-repo before any test paths. Otherwise, run this command from the\n' 'Run this command from the root of your project. Test files must be\n'
'root of your project. Test files must be called *_test.dart and must reside in\n' 'called *_test.dart and must reside in the package\'s \'test\'\n'
'the package\'s \'test\' directory (or one of its subdirectories).'); 'directory (or one of its subdirectories).');
return false; return false;
} }
return true; return true;
...@@ -74,10 +65,6 @@ class TestCommand extends FlutterCommand { ...@@ -74,10 +65,6 @@ class TestCommand extends FlutterCommand {
.map((FileSystemEntity entity) => path.absolute(entity.path)); .map((FileSystemEntity entity) => path.absolute(entity.path));
} }
Directory get _flutterUnitTestDir {
return new Directory(path.join(ArtifactStore.flutterRoot, 'packages', 'flutter', 'test'));
}
Directory get _currentPackageTestDir { Directory get _currentPackageTestDir {
// We don't scan the entire package, only the test/ subdirectory, so that // We don't scan the entire package, only the test/ subdirectory, so that
// files with names like like "hit_test.dart" don't get run. // files with names like like "hit_test.dart" don't get run.
...@@ -98,16 +85,10 @@ class TestCommand extends FlutterCommand { ...@@ -98,16 +85,10 @@ class TestCommand extends FlutterCommand {
Future<int> runInProject() async { Future<int> runInProject() async {
List<String> testArgs = argResults.rest.map((String testPath) => path.absolute(testPath)).toList(); List<String> testArgs = argResults.rest.map((String testPath) => path.absolute(testPath)).toList();
final bool runFlutterTests = argResults['flutter-repo']; if (!projectRootValidator())
if (!runFlutterTests && !projectRootValidator())
return 1; return 1;
// If we're running the flutter tests, we want to use the packages directory Directory testDir = _currentPackageTestDir;
// from the flutter package in order to find the proper shell binary.
if (runFlutterTests)
PackageMap.instance = new PackageMap(path.join(ArtifactStore.flutterRoot, 'packages', 'flutter', '.packages'));
Directory testDir = runFlutterTests ? _flutterUnitTestDir : _currentPackageTestDir;
if (testArgs.isEmpty) { if (testArgs.isEmpty) {
if (!testDir.existsSync()) { if (!testDir.existsSync()) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment