Skip to content

Commit 1200c59

Browse files
authored
test: migrate logger tests to vitest (#6220)
* Migrate logger tests to vitest * Remove lint comment
1 parent 21851b2 commit 1200c59

20 files changed

+137
-129
lines changed

packages/logger/.mocharc.yml

Lines changed: 0 additions & 5 deletions
This file was deleted.

packages/logger/karma.config.cjs

Lines changed: 0 additions & 9 deletions
This file was deleted.

packages/logger/package.json

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,12 @@
5656
"lint": "eslint --color --ext .ts src/ test/",
5757
"lint:fix": "yarn run lint --fix",
5858
"pretest": "yarn run check-types",
59-
"test:unit": "mocha 'test/unit/**/*.test.ts'",
60-
"test:browsers": "yarn karma start karma.config.cjs",
61-
"test:e2e": "LODESTAR_PRESET=minimal mocha 'test/e2e/**/*.test.ts'",
59+
"test:unit": "vitest --run --dir test/unit/ --coverage",
60+
"test:browsers": "yarn test:browsers:chrome && yarn test:browsers:firefox && yarn test:browsers:electron",
61+
"test:browsers:chrome": "vitest --run --browser chrome --config ./vitest.browser.config.ts --dir test/unit",
62+
"test:browsers:firefox": "vitest --run --browser firefox --config ./vitest.browser.config.ts --dir test/unit",
63+
"test:browsers:electron": "echo 'Electron tests will be introduced back in the future as soon vitest supports electron.'",
64+
"test:e2e": "LODESTAR_PRESET=minimal vitest --run --dir test/e2e",
6265
"check-readme": "typescript-docs-verifier"
6366
},
6467
"types": "lib/index.d.ts",
@@ -69,6 +72,7 @@
6972
"winston-transport": "^4.5.0"
7073
},
7174
"devDependencies": {
75+
"@chainsafe/threads": "^1.11.1",
7276
"@lodestar/test-utils": "^1.13.0",
7377
"@types/triple-beam": "^1.3.2",
7478
"rimraf": "^4.4.1",

packages/logger/test/e2e/logger/workerLogger.ts renamed to packages/logger/test/e2e/logger/workerLogger.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import worker from "node:worker_threads";
33
import {expose} from "@chainsafe/threads/worker";
44

55
const parentPort = worker.parentPort;
6-
const workerData = worker.workerData as {logFilepath: string};
6+
const workerData = worker.workerData;
77
if (!parentPort) throw Error("parentPort must be defined");
88

99
const file = fs.createWriteStream(workerData.logFilepath, {flags: "a"});

packages/logger/test/e2e/logger/workerLoggerHandler.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ export type LoggerWorker = {
99
type WorkerData = {logFilepath: string};
1010

1111
export async function getLoggerWorker(opts: WorkerData): Promise<LoggerWorker> {
12-
const workerThreadjs = new Worker("./workerLogger.js", {workerData: opts});
12+
const workerThreadjs = new Worker("./workerLogger.js", {
13+
workerData: opts,
14+
});
1315
const worker = workerThreadjs as unknown as worker_threads.Worker;
1416

1517
// eslint-disable-next-line @typescript-eslint/no-explicit-any

packages/logger/test/e2e/logger/workerLogs.test.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import path from "node:path";
22
import fs from "node:fs";
33
import {fileURLToPath} from "node:url";
4-
import {expect} from "chai";
4+
import {describe, it, expect, vi, beforeEach, afterEach} from "vitest";
55
import {sleep} from "@lodestar/utils";
66
import {LoggerWorker, getLoggerWorker} from "./workerLoggerHandler.js";
77

@@ -11,7 +11,7 @@ import {LoggerWorker, getLoggerWorker} from "./workerLoggerHandler.js";
1111
const __dirname = path.dirname(fileURLToPath(import.meta.url));
1212

1313
describe("worker logs", function () {
14-
this.timeout(60_000);
14+
vi.setConfig({testTimeout: 60_000});
1515

1616
const logFilepath = path.join(__dirname, "../../../test-logs/test_worker_logs.log");
1717
let loggerWorker: LoggerWorker;
@@ -36,15 +36,15 @@ describe("worker logs", function () {
3636
fs.createWriteStream(logFilepath, {flags: "a"}).write(logTextMainThread);
3737

3838
const data = await waitForFileSize(logFilepath, logTextMainThread.length);
39-
expect(data).includes(logTextMainThread);
39+
expect(data).toContain(logTextMainThread);
4040
});
4141

4242
it("worker writes to file", async () => {
4343
const logTextWorker = "test-log-worker";
4444
loggerWorker.log(logTextWorker);
4545

4646
const data = await waitForFileSize(logFilepath, logTextWorker.length);
47-
expect(data).includes(logTextWorker);
47+
expect(data).toContain(logTextWorker);
4848
});
4949

5050
it("concurrent write from two write streams in different threads", async () => {
@@ -57,8 +57,8 @@ describe("worker logs", function () {
5757
file.write(logTextMainThread + "\n");
5858

5959
const data = await waitForFileSize(logFilepath, logTextWorker.length + logTextMainThread.length);
60-
expect(data).includes(logTextWorker);
61-
expect(data).includes(logTextMainThread);
60+
expect(data).toContain(logTextWorker);
61+
expect(data).toContain(logTextMainThread);
6262
});
6363
});
6464

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export async function setup(): Promise<void> {}
2+
export async function teardown(): Promise<void> {}

packages/logger/test/setup.ts

Lines changed: 0 additions & 6 deletions
This file was deleted.

packages/logger/test/unit/browser.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {expect} from "chai";
1+
import {describe, it, expect} from "vitest";
22
import {LogLevel} from "@lodestar/utils";
33
import {stubLoggerForConsole} from "@lodestar/test-utils/mocha";
44
import {TimestampFormatCode, logFormats} from "../../src/index.js";
@@ -22,7 +22,7 @@ describe("browser logger", () => {
2222

2323
logger.warn(message, context, error);
2424
logger.restoreStubs();
25-
expect(logger.getLogs()).deep.equals([output[format]]);
25+
expect(logger.getLogs()).toEqual([output[format]]);
2626
});
2727
}
2828
}

packages/logger/test/unit/env.node.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {expect} from "chai";
1+
import {describe, it, expect} from "vitest";
22
import {LogLevel} from "@lodestar/utils";
33
import {stubLoggerForConsole} from "@lodestar/test-utils/mocha";
44
import {TimestampFormatCode, logFormats} from "../../src/index.js";
@@ -20,7 +20,7 @@ describe("env logger", () => {
2020

2121
logger.warn(message, context, error);
2222
logger.restoreStubs();
23-
expect(logger.getLogs()).deep.equals([output[format]]);
23+
expect(logger.getLogs()).toEqual([output[format]]);
2424
});
2525
}
2626
}

0 commit comments

Comments
 (0)