test(deno): use expect.toBeGreaterThanorEqual on failing deno perf … (#15700)

Co-authored-by: Don Isaac <don@bun.sh>
This commit is contained in:
Don Isaac
2024-12-10 22:05:46 -08:00
committed by GitHub
parent 455de2a449
commit 0bc57eebcb
2 changed files with 23 additions and 2 deletions

View File

@@ -130,6 +130,22 @@ export function createDenoTest(path: string, defaultTimeout = 5000) {
}
};
const assertGreaterThan = (actual: number, expected: number, message?: string) => {
expect(actual).toBeGreaterThan(expected);
}
const assertGreaterThanOrEqual = (actual: number, expected: number, message?: string) => {
expect(actual).toBeGreaterThanOrEqual(expected);
}
const assertLessThan = (actual: number, expected: number, message?: string) => {
expect(actual).toBeLessThan(expected);
}
const assertLessThanOrEqual = (actual: number, expected: number, message?: string) => {
expect(actual).toBeLessThanOrEqual(expected);
}
const assertInstanceOf = (actual: unknown, expected: unknown, message?: string) => {
expect(actual).toBeInstanceOf(expected);
};
@@ -328,6 +344,10 @@ export function createDenoTest(path: string, defaultTimeout = 5000) {
assertStrictEquals,
assertNotStrictEquals,
assertAlmostEquals,
assertGreaterThan,
assertGreaterThanOrEqual,
assertLessThan,
assertLessThanOrEqual,
assertInstanceOf,
assertNotInstanceOf,
assertStringIncludes,

View File

@@ -1,6 +1,6 @@
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
import { createDenoTest } from "deno:harness";
const { test, assert, assertEquals, assertThrows } = createDenoTest(import.meta.path);
const { test, assert, assertEquals, assertGreaterThanOrEqual, assertThrows } = createDenoTest(import.meta.path);
test({ permissions: { hrtime: false } }, async function performanceNow() {
const { promise, resolve } = Promise.withResolvers<void>();
@@ -90,7 +90,8 @@ test(function performanceMeasure() {
assertEquals(measure2.startTime, 0);
assertEquals(mark1.startTime, measure1.startTime);
assertEquals(mark1.startTime, measure2.duration);
assert(measure1.duration >= 100, `duration below 100ms: ${measure1.duration}`);
// assert(measure1.duration >= 100, `duration below 100ms: ${measure1.duration}`);
assertGreaterThanOrEqual(measure1.duration, 100, `duration below 100ms: ${measure1.duration}`);
assert(
measure1.duration < (later - now) * 1.5,
`duration exceeds 150% of wallclock time: ${measure1.duration}ms vs ${later - now}ms`,