一些检查失败了
automerge / automerge (push) Has been cancelled
react-native-android-build-apk / AssembleRelease (push) Has been cancelled
Build macOS M1 / Main (push) Has been cancelled
Joplin Continuous Integration / Main (macos-15-intel) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-11-vs2026-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-2025) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04-arm) (push) Has been cancelled
Joplin UI tests / Main (ubuntu-22.04) (push) Has been cancelled
Joplin UI tests / Main (windows-2025) (push) Has been cancelled
Joplin UI tests / Mobile (push) Has been cancelled
Close stale issues / ProcessStaleIssues (push) Has been cancelled
28 行
685 B
TypeScript
28 行
685 B
TypeScript
import type { Reporter, FullResult, TestCase } from '@playwright/test/reporter';
|
|
|
|
// Treats a run as successful when the only "failures" are flaky tests
|
|
// (tests that failed initially but passed on retry).
|
|
class IgnoreFlakyReporter implements Reporter {
|
|
private hasRealFailure = false;
|
|
|
|
public onTestEnd(test: TestCase) {
|
|
const status = test.outcome();
|
|
if (status === 'unexpected') {
|
|
this.hasRealFailure = true;
|
|
}
|
|
}
|
|
|
|
public async onEnd(result: FullResult) {
|
|
if (result.status === 'failed' && !this.hasRealFailure) {
|
|
return { status: 'passed' as const };
|
|
}
|
|
return undefined;
|
|
}
|
|
|
|
public printsToStdio() {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
export default IgnoreFlakyReporter;
|