blob: 4e93f3460a5e274401e9ae75268eb0b9cac56702 [file] [log] [blame]
// 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 'dart:convert';
import 'dart:io';
import 'package:e2e/common.dart' as e2e;
import 'package:flutter_driver/flutter_driver.dart';
import 'package:path/path.dart' as path;
Future<void> main() async {
const Duration timeout = Duration(minutes: 1);
const String testName = 'frame_policy';
final FlutterDriver driver = await FlutterDriver.connect();
String jsonResult;
jsonResult = await driver.requestData(null, timeout: timeout);
final e2e.Response response = e2e.Response.fromJson(jsonResult);
await driver.close();
final Map<String, dynamic> benchmarkLiveResult =
response.data['benchmarkLive'] as Map<String,dynamic>;
final Map<String, dynamic> fullyLiveResult =
response.data['fullyLive'] as Map<String,dynamic>;
if (response.allTestsPassed) {
if(benchmarkLiveResult['frame_count'] as int < 10
|| fullyLiveResult['frame_count'] as int < 10) {
print('Failure Details:\nNot Enough frames collected:'
'benchmarkLive ${benchmarkLiveResult['frameCount']},'
'${fullyLiveResult['frameCount']}.');
exit(1);
}
print('All tests passed.');
const String destinationDirectory = 'build';
await fs.directory(destinationDirectory).create(recursive: true);
final File file = fs.file(path.join(
destinationDirectory,
'${testName}_event_delay.json'
));
await file.writeAsString(const JsonEncoder.withIndent(' ').convert(
<String, dynamic>{
'benchmarkLive': benchmarkLiveResult,
'fullyLive': fullyLiveResult,
},
));
exit(0);
} else {
print('Failure Details:\n${response.formattedFailureDetails}');
exit(1);
}
}