| // Copyright 2013 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. |
| |
| // @dart = 2.6 |
| |
| import 'dart:io'; |
| |
| import 'package:litetest/litetest.dart'; |
| import 'package:metrics_center/metrics_center.dart'; |
| import 'package:path/path.dart' as p; |
| |
| import '../bin/parse_and_send.dart' as pas; |
| |
| void main() { |
| test('runGit() succeeds', () async { |
| // Check that git --version runs successfully |
| final ProcessResult result = await pas.runGit(<String>['--version']); |
| expect(result.exitCode, equals(0)); |
| }); |
| |
| test('getGitLog() succeeds', () async { |
| final List<String> gitLog = await pas.getGitLog(); |
| |
| // Check that gitLog[0] is a hash |
| final RegExp sha1re = RegExp(r'[a-f0-9]{40}'); |
| expect(sha1re.hasMatch(gitLog[0]), true); |
| |
| // Check that gitLog[1] is an int |
| final int secondsSinceEpoch = int.tryParse(gitLog[1]); |
| expect(secondsSinceEpoch, isNotNull); |
| |
| // Check that gitLog[1] is a sensible Unix Epoch |
| final int millisecondsSinceEpoch = secondsSinceEpoch * 1000; |
| final DateTime commitDate = DateTime.fromMillisecondsSinceEpoch( |
| millisecondsSinceEpoch, |
| isUtc: true, |
| ); |
| expect(commitDate.year > 2000, true); |
| expect(commitDate.year < 3000, true); |
| }); |
| |
| test('parse() succeeds', () async { |
| // Check that the results of parse() on ../example/txt_benchmarks.json |
| // is as expeted. |
| final String exampleJson = p.join('example', 'txt_benchmarks.json'); |
| final pas.PointsAndDate pad = await pas.parse(exampleJson); |
| final List<FlutterEngineMetricPoint> points = pad.points; |
| |
| expect(points[0].value, equals(101.0)); |
| expect(points[2].value, equals(4460.0)); |
| expect(points[4].value, equals(6548.0)); |
| }); |
| } |