Skip to content

chore: add logging to flaky tests #4513

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 18, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 16 additions & 7 deletions test/tools/runner/flaky.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
import { expect } from 'chai';

import { alphabetically } from '../utils';

export const flakyTests = [
'Change Streams should properly handle a changeStream event being processed mid-close when invoked with promises',
'Client Side Encryption (Unified) namedKMS-rewrapManyDataKey rewrap to azure:name1',
'Server Discovery and Monitoring Prose Tests Connection Pool Management ensure monitors properly create and unpause connection pools when they discover servers',
'CSOT spec tests legacy timeouts behave correctly for retryable operations operation succeeds after one socket timeout - aggregate on collection',
'Client Side Encryption Prose Tests 16. Rewrap Case 1: Rewrap with separate ClientEncryption should rewrap data key from aws to aws',
'Client Side Encryption Prose Tests 16. Rewrap Case 1: Rewrap with separate ClientEncryption should rewrap data key from aws to azure',
'Client Side Encryption Prose Tests 16. Rewrap Case 1: Rewrap with separate ClientEncryption should rewrap data key from aws to gcp',
Expand All @@ -28,12 +31,18 @@ export const flakyTests = [
'Client Side Encryption Prose Tests 16. Rewrap Case 1: Rewrap with separate ClientEncryption should rewrap data key from local to kmip',
'Client Side Encryption Prose Tests 16. Rewrap Case 1: Rewrap with separate ClientEncryption should rewrap data key from local to local',
'Client Side Encryption Prose Tests 16. Rewrap Case 2: RewrapManyDataKeyOpts.provider is not optional when provider field is missing raises an error',
'Transactions Convenient API Spec Unified Tests transaction-options withTransaction inherits transaction options from defaultTransactionOptions',
'CSOT spec tests legacy timeouts behave correctly for retryable operations operation fails after two consecutive socket timeouts - aggregate on collection',
'CSOT spec tests legacy timeouts behave correctly for retryable operations operation succeeds after one socket timeout - aggregate on collection',
'CSOT spec tests operations ignore deprecated timeout options if timeoutMS is set socketTimeoutMS is ignored if timeoutMS is set - dropIndex on collection',
'CSOT spec tests runCursorCommand Non-tailable cursor lifetime remaining timeoutMS applied to getMore if timeoutMode is unset',
'CSOT spec tests timeoutMS behaves correctly for GridFS download operations timeoutMS applied to entire download, not individual parts',
'Retryable Writes (unified) retryable writes handshake failures collection.updateOne succeeds after retryable handshake network error',
'Retryable Reads (unified) retryable reads handshake failures collection.aggregate succeeds after retryable handshake network error',
'CSOT spec tests legacy timeouts behave correctly for retryable operations operation fails after two consecutive socket timeouts - aggregate on collection',
'Retryable Writes (unified) retryable writes handshake failures collection.updateOne succeeds after retryable handshake network error',
'Server Discovery and Monitoring Prose Tests Connection Pool Management ensure monitors properly create and unpause connection pools when they discover servers',
'CSOT spec tests legacy timeouts behave correctly for retryable operations operation succeeds after one socket timeout - aggregate on collection',
'CSOT spec tests operations ignore deprecated timeout options if timeoutMS is set socketTimeoutMS is ignored if timeoutMS is set - dropIndex on collection'
'Transactions Convenient API Spec Unified Tests transaction-options withTransaction inherits transaction options from defaultTransactionOptions'
];

expect(flakyTests, 'expected list to be alphabetized').to.deep.equal(
[...flakyTests].sort(alphabetically)
);
expect(flakyTests, 'expected to have no duplicates').to.have.lengthOf(new Set(flakyTests).size);