CockpitTestAttemptReport constructor
CockpitTestAttemptReport({
- required String attemptId,
- required int number,
- required CockpitRunOutcome outcome,
- required DateTime startedAt,
- required DateTime finishedAt,
- required int durationMs,
- required String targetId,
- CockpitFailure? failure,
- Iterable<
CockpitArtifactReference> artifacts = const <CockpitArtifactReference>[],
Creates a CockpitTestAttemptReport.
Implementation
CockpitTestAttemptReport({
required this.attemptId,
required this.number,
required this.outcome,
required this.startedAt,
required this.finishedAt,
required this.durationMs,
required this.targetId,
this.failure,
Iterable<CockpitArtifactReference> artifacts =
const <CockpitArtifactReference>[],
}) : artifacts = List<CockpitArtifactReference>.unmodifiable(artifacts) {
CockpitTestValueReader.string(attemptId, r'$.attemptId', id: true);
if (number < 1 || durationMs < 0 || finishedAt.isBefore(startedAt)) {
throw const FormatException(
'Attempt report timing or number is invalid.',
);
}
CockpitTestValueReader.string(targetId, r'$.targetId', id: true);
if ((outcome == CockpitRunOutcome.passed) == (failure != null)) {
throw const FormatException(
'Attempt report outcome and failure disagree.',
);
}
}