save method

  1. @override
Future<void> save(
  1. EvalRunReport report
)
override

Implementation

@override
Future<void> save(EvalRunReport report) async {
  final entry = RunIndexEntry(
    runName: report.runName,
    suiteName: report.suite.name,
    suiteKind: report.suite.kind,
    startedAt: report.startedAt,
    endedAt: report.endedAt,
    taskPassRate: report.taskPassRate,
    trialPassRate: report.trialPassRate,
    numTrials: report.trials.length,
  );
  await indexFile.writeAsString(
    '${jsonEncode(entry.toJson())}\n',
    mode: FileMode.append,
    flush: true,
  );

  final body = {
    'runName': report.runName,
    'suite': SuiteSnapshot.from(report.suite).toJson(),
    'startedAt': report.startedAt.toIso8601String(),
    'endedAt': report.endedAt.toIso8601String(),
    'trials': report.trials.map((t) => t.toJson()).toList(),
  };
  await _reportFile(
    report.runName,
  ).writeAsString(jsonEncode(body), flush: true);
}