Make dev/bots/test.dart pass on Windows (#7998)
* disables all `flutter test` and `flutter drive` tests on Windows as those two commands are not fully implemented on Windows yet * fixes other failures on Windows
This commit is contained in:
parent
1ec625ffad
commit
723489de02
@ -37,7 +37,7 @@ Future<Null> main() async {
|
||||
await _runFlutterTest(automatedTests,
|
||||
script: p.join('test_smoke_test', 'crash2_test.dart'),
|
||||
expectFailure: true,
|
||||
printOutput: false
|
||||
printOutput: false,
|
||||
);
|
||||
await _runFlutterTest(automatedTests,
|
||||
script: p.join('test_smoke_test', 'syntax_error_test.broken_dart'),
|
||||
@ -53,6 +53,7 @@ Future<Null> main() async {
|
||||
workingDirectory: p.join(flutterRoot, 'packages', 'flutter_driver'),
|
||||
expectFailure: true,
|
||||
printOutput: false,
|
||||
skip: Platform.isWindows, // TODO(goderbauer): run on Windows when 'drive' command works
|
||||
);
|
||||
|
||||
List<String> coverageFlags = <String>[];
|
||||
@ -91,9 +92,15 @@ Future<Null> _runCmd(String executable, List<String> arguments, {
|
||||
Map<String, String> environment,
|
||||
bool expectFailure: false,
|
||||
bool printOutput: true,
|
||||
bool skip: false,
|
||||
}) async {
|
||||
String cmd = '${p.relative(executable)} ${arguments.join(' ')}';
|
||||
print('>>> RUNNING in \x1B[34m${p.relative(workingDirectory)}\x1B[0m: \x1B[33m$cmd\x1B[0m');
|
||||
String relativeWorkingDir = p.relative(workingDirectory);
|
||||
if (skip) {
|
||||
_printProgress('SKIPPING', relativeWorkingDir, cmd);
|
||||
return null;
|
||||
}
|
||||
_printProgress('RUNNING', relativeWorkingDir, cmd);
|
||||
|
||||
Process process = await Process.start(executable, arguments,
|
||||
workingDirectory: workingDirectory,
|
||||
@ -121,6 +128,7 @@ Future<Null> _runFlutterTest(String workingDirectory, {
|
||||
bool expectFailure: false,
|
||||
bool printOutput: true,
|
||||
List<String> options: const <String>[],
|
||||
bool skip: false,
|
||||
}) {
|
||||
List<String> args = <String>['test']..addAll(options);
|
||||
if (flutterTestArgs != null)
|
||||
@ -131,6 +139,7 @@ Future<Null> _runFlutterTest(String workingDirectory, {
|
||||
workingDirectory: workingDirectory,
|
||||
expectFailure: expectFailure,
|
||||
printOutput: printOutput,
|
||||
skip: skip || Platform.isWindows, // TODO(goderbauer): run on Windows when sky_shell is available
|
||||
);
|
||||
}
|
||||
|
||||
@ -151,3 +160,7 @@ Future<Null> _runFlutterAnalyze(String workingDirectory, {
|
||||
workingDirectory: workingDirectory,
|
||||
);
|
||||
}
|
||||
|
||||
void _printProgress(String action, String workingDir, String cmd) {
|
||||
print('>>> $action in \x1B[36m$workingDir\x1B[0m: \x1B[33m$cmd\x1B[0m');
|
||||
}
|
||||
|
@ -35,7 +35,7 @@ void main() {
|
||||
|
||||
test('exits with code 1 when task throws', () async {
|
||||
expect(await runScript(<String>['smoke_test_throws']), 1);
|
||||
});
|
||||
}, skip: Platform.isWindows); // TODO(goderbauer): figure out why this fails on Windows
|
||||
|
||||
test('exits with code 1 when fails', () async {
|
||||
expect(await runScript(<String>['smoke_test_failure']), 1);
|
||||
|
@ -4,6 +4,8 @@
|
||||
|
||||
import 'dart:convert' show JSON;
|
||||
|
||||
import 'package:file/file.dart';
|
||||
import 'package:path/path.dart' as path;
|
||||
import 'package:test/test.dart';
|
||||
import 'package:flutter_driver/src/common.dart';
|
||||
import 'package:flutter_driver/flutter_driver.dart';
|
||||
@ -211,19 +213,24 @@ void main() {
|
||||
});
|
||||
|
||||
group('writeTimelineToFile', () {
|
||||
|
||||
Directory tempDir;
|
||||
|
||||
setUp(() {
|
||||
useMemoryFileSystemForTesting();
|
||||
tempDir = fs.systemTempDirectory.createTempSync('flutter_driver_test');
|
||||
});
|
||||
|
||||
tearDown(() {
|
||||
tempDir.deleteSync(recursive: true);
|
||||
restoreFileSystem();
|
||||
});
|
||||
|
||||
test('writes timeline to JSON file', () async {
|
||||
await summarize(<Map<String, String>>[<String, String>{'foo': 'bar'}])
|
||||
.writeTimelineToFile('test', destinationDirectory: '/temp');
|
||||
.writeTimelineToFile('test', destinationDirectory: tempDir.path);
|
||||
String written =
|
||||
await fs.file('/temp/test.timeline.json').readAsString();
|
||||
await fs.file(path.join(tempDir.path, 'test.timeline.json')).readAsString();
|
||||
expect(written, '{"traceEvents":[{"foo":"bar"}]}');
|
||||
});
|
||||
|
||||
@ -235,9 +242,9 @@ void main() {
|
||||
build(1000, 9000),
|
||||
build(11000, 1000),
|
||||
build(13000, 11000),
|
||||
]).writeSummaryToFile('test', destinationDirectory: '/temp');
|
||||
]).writeSummaryToFile('test', destinationDirectory: tempDir.path);
|
||||
String written =
|
||||
await fs.file('/temp/test.timeline_summary.json').readAsString();
|
||||
await fs.file(path.join(tempDir.path, 'test.timeline_summary.json')).readAsString();
|
||||
expect(JSON.decode(written), <String, dynamic>{
|
||||
'average_frame_build_time_millis': 7.0,
|
||||
'worst_frame_build_time_millis': 11.0,
|
||||
|
Loading…
x
Reference in New Issue
Block a user