Skip to content

Commit 62e48d4

Browse files
committed
fix: run on requirement check
1 parent 510efd6 commit 62e48d4

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

test/functional/unified-spec-runner/unified-utils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ export function log(message: unknown, ...optionalParameters: unknown[]): void {
1010
if (ENABLE_UNIFIED_TEST_LOGGING) console.warn(message, ...optionalParameters);
1111
}
1212

13-
export function getUnmetRequirements(config: TestConfiguration, r: RunOnRequirement): boolean {
13+
export function topologySatisfies(config: TestConfiguration, r: RunOnRequirement): boolean {
1414
let ok = true;
1515
if (r.minServerVersion) {
1616
const minVersion = patchVersion(r.minServerVersion);

test/functional/unified-spec-runner/unified.test.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { expect } from 'chai';
22
import { ReadPreference } from '../../../src/read_preference';
33
import { loadSpecTests } from '../../spec/index';
44
import * as uni from './schema';
5-
import { getUnmetRequirements, patchVersion, zip, log } from './unified-utils';
5+
import { patchVersion, zip, log, topologySatisfies } from './unified-utils';
66
import { CommandEvent, EntitiesMap } from './entities';
77
import { ns } from '../../../src/utils';
88
import { executeOperationAndCheck } from './operations';
@@ -43,8 +43,12 @@ async function runOne(
4343

4444
// If test.runOnRequirements is specified, the test runner MUST skip the test unless one or more
4545
// runOnRequirement objects are satisfied.
46-
if (test.runOnRequirements) {
47-
if (!test.runOnRequirements.some(r => getUnmetRequirements(ctx.configuration, r))) {
46+
const allRequirements = [
47+
...(unifiedSuite.runOnRequirements ?? []),
48+
...(test.runOnRequirements ?? [])
49+
];
50+
for (const requirement of allRequirements) {
51+
if (!topologySatisfies(ctx.configuration, requirement)) {
4852
ctx.skip();
4953
}
5054
}

test/tools/runner/config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ class TestConfiguration {
186186
} else {
187187
multipleHosts = this.options.hostAddresses
188188
.reduce((built, host) => {
189-
built.push(host.type === 'tcp' ? `${host.host}:${host.port}` : host.host);
189+
built.push(typeof host.port === 'number' ? `${host.host}:${host.port}` : host.host);
190190
return built;
191191
}, [])
192192
.join(',');

0 commit comments

Comments
 (0)