Files
fanuzu/app/test_driver/perf_driver.dart
T

23 lines
813 B
Dart

import 'dart:convert';
import 'dart:io';
import 'package:integration_test/integration_test_driver.dart';
/// 프레임 타이밍 결과를 파일로 떨어뜨리는 드라이버.
///
/// 기본 드라이버는 요약을 콘솔에만 남긴다. 성능 리포트가 수치를 인용해야 하므로
/// 원본 JSON 을 남겨 근거를 되짚을 수 있게 한다.
Future<void> main() => integrationDriver(
responseDataCallback: (data) async {
if (data == null) return;
final dir = Directory('build/perf')..createSync(recursive: true);
for (final entry in data.entries) {
final file = File('${dir.path}/${entry.key}.json');
file.writeAsStringSync(
const JsonEncoder.withIndent(' ').convert(entry.value),
);
stdout.writeln('[perf] saved ${file.path}');
}
},
);