Skip to content

Commit 9204847

Browse files
Remove console.log from tests (#1888)
* Remove console.log from tests * Fix newline
1 parent ed7d75f commit 9204847

File tree

3 files changed

+45
-36
lines changed

3 files changed

+45
-36
lines changed

test/scripts/parallel-local/custom-mocha-reporter.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ const { Base } = Mocha.reporters;
44
const fs = require('fs');
55
const mkdirp = require('mkdirp');
66

7+
const { BASE_STORAGE_PATH } = require('./test-runner.js');
8+
79
/**
810
* CustomReporter for Mocha that logs test results into separate files.
911
*
@@ -13,9 +15,7 @@ const mkdirp = require('mkdirp');
1315
function CustomReporter(runner) {
1416
Base.call(this, runner);
1517

16-
const testType = process.env.TEST_TYPE || 'default';
17-
const basePath = process.env.STORAGE_PATH ? `${process.env.STORAGE_PATH}/${testType}` : `/var/storage/${testType}`;
18-
mkdirp.sync(basePath);
18+
mkdirp.sync(BASE_STORAGE_PATH);
1919

2020
const testsBuffer = [];
2121
const failsBuffer = [];
@@ -112,16 +112,16 @@ function CustomReporter(runner) {
112112
*/
113113
runner.on('end', () => {
114114
if (testsBuffer.length > 0) {
115-
fs.writeFileSync(`${basePath}/tests.log`, testsBuffer.join('\n'));
115+
fs.writeFileSync(`${BASE_STORAGE_PATH}/tests.log`, testsBuffer.join('\n'));
116116
}
117117
if (failsBuffer.length > 0) {
118-
fs.writeFileSync(`${basePath}/fails.log`, failsBuffer.join('\n'));
118+
fs.writeFileSync(`${BASE_STORAGE_PATH}/fails.log`, failsBuffer.join('\n'));
119119
}
120120
resultsBuffer.push(`${runner.stats.passes} Passing`);
121121
resultsBuffer.push(`${runner.stats.failures} Failing`);
122122
resultsBuffer.push(`${runner.stats.pending} Pending`);
123123
if (resultsBuffer.length > 0) {
124-
fs.writeFileSync(`${basePath}/results.log`, resultsBuffer.join('\n'));
124+
fs.writeFileSync(`${BASE_STORAGE_PATH}/results.log`, resultsBuffer.join('\n'));
125125
}
126126
});
127127
}

test/scripts/parallel-local/main.js

Lines changed: 33 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ const { fork, execSync } = require('child_process');
33
const path = require('path');
44
const fs = require('fs');
55
const { BASE_STORAGE_PATH, MessageKey } = require('./test-runner');
6+
const { LogManager } = require('@aliceo2/web-ui');
67

78
dotenv.config();
89

@@ -33,6 +34,8 @@ const workersExited = new Set();
3334

3435
const imageTag = 'test-parallel-application:latest';
3536

37+
const logger = LogManager.getLogger('MAIN');
38+
3639
/**
3740
* Builds the Docker image used by all the workers.
3841
*
@@ -54,9 +57,11 @@ const initializeWorkers = () => {
5457

5558
for (let i = 0; i < amountOfWorkers; i++) {
5659
const workerName = `worker-${i}`;
57-
const worker = fork(path.resolve(__dirname, 'test-runner.js'), [workerName], {
58-
stdio: ['pipe', 'pipe', 'pipe', 'ipc'],
59-
});
60+
const worker = fork(
61+
path.resolve(__dirname, 'test-runner.js'),
62+
[workerName],
63+
{ stdio: ['pipe', 'pipe', 'pipe', 'ipc'] },
64+
);
6065

6166
setupWorkerListeners(worker, workerName);
6267
assignTestToWorker(worker, workerName);
@@ -71,10 +76,11 @@ const initializeWorkers = () => {
7176
* @returns {void}
7277
*/
7378
const setupWorkerListeners = (worker, workerName) => {
79+
const workerLogger = LogManager.getLogger(`WORKER ${workerName}`);
80+
81+
worker.stdout.on('data', (data) => workerLogger.infoMessage(`${workerName}: ${data.toString()}`));
7482
// eslint-disable-next-line no-console
75-
worker.stdout.on('data', (data) => console.log(`${workerName}: ${data.toString()}`));
76-
// eslint-disable-next-line no-console
77-
worker.stderr.on('data', (data) => console.error(`${workerName} Error: ${data.toString()}`));
83+
worker.stderr.on('data', (data) => workerLogger.infoMessage(`${workerName} Error: ${data.toString()}`));
7884

7985
worker.on('message', (msg) => handleWorkerMessage(msg, worker, workerName));
8086
worker.on('exit', (code) => handleWorkerExit(code, workerName));
@@ -100,14 +106,14 @@ const handleWorkerMessage = (msg, worker, workerName) => {
100106
* @returns {void}
101107
*/
102108
const assignTestToWorker = (worker, workerName) => {
109+
const workerLogger = LogManager.getLogger(`WORKER ${workerName}`);
110+
103111
if (remainingTests.length > 0) {
104112
const test = remainingTests.pop();
105-
// eslint-disable-next-line no-console
106-
console.log(`${workerName} starting new suite: ${test} (${testSuites.length - remainingTests.length}/${testSuites.length})`);
113+
workerLogger.infoMessage(`starting new suite: ${test} (${testSuites.length - remainingTests.length}/${testSuites.length})`);
107114
worker.send({ test, workerName });
108115
} else {
109-
// eslint-disable-next-line no-console
110-
console.log(`${workerName} found no more tests...`);
116+
workerLogger.infoMessage('found no more tests...');
111117
worker.send(MessageKey.NoMoreTests);
112118
}
113119
};
@@ -119,12 +125,12 @@ const assignTestToWorker = (worker, workerName) => {
119125
* @returns {void}
120126
*/
121127
const handleWorkerExit = (code, workerName) => {
128+
const workerLogger = LogManager.getLogger(`WORKER ${workerName}`);
129+
122130
if (code !== 0) {
123-
// eslint-disable-next-line no-console
124-
console.error(`Worker ${workerName} exited with code ${code}`);
131+
workerLogger.errorMessage(`exited with code ${code}`);
125132
} else {
126-
// eslint-disable-next-line no-console
127-
console.log(`Worker ${workerName} completed successfully`);
133+
workerLogger.infoMessage('completed successfully');
128134
}
129135
workersExited.add(workerName);
130136
handleAllWorkersExited();
@@ -150,12 +156,13 @@ const handleAllWorkersExited = () => {
150156
* @returns {void}
151157
*/
152158
const displayResults = async () => {
153-
// eslint-disable-next-line no-console
154-
console.log('\nResults:\n');
159+
logger.infoMessage('\n');
160+
logger.infoMessage('Results:');
161+
logger.infoMessage('\n');
155162
await readAllLogFiles('tests.log');
156163

157164
// eslint-disable-next-line no-console
158-
console.log('\n');
165+
logger.infoMessage('\n');
159166

160167
let totalPassing = 0;
161168
let totalFailing = 0;
@@ -174,15 +181,15 @@ const displayResults = async () => {
174181

175182
// Display total passing with elapsed time in minutes and seconds
176183
// eslint-disable-next-line no-console
177-
console.log(' ', totalPassing, 'Passing', `(${minutes}m)`);
184+
logger.infoMessage(` ${totalPassing} Passing(${minutes}m)`);
178185
// eslint-disable-next-line no-console
179-
console.log(' ', totalFailing, 'Failing');
186+
logger.infoMessage(` ${totalFailing} Failing`);
180187
if (totalPending > 0) {
181188
// eslint-disable-next-line no-console
182-
console.log(' ', totalPending, 'Pending');
189+
logger.infoMessage(` ${totalPending} Pending`);
183190
}
184191
// eslint-disable-next-line no-console
185-
console.log('\n');
192+
logger.infoMessage('\n');
186193

187194
await readAllLogFiles('fails.log');
188195
};
@@ -200,13 +207,12 @@ const dumpLogFileContentToConsole = async (testSuiteName, logFileName) => {
200207
const filePath = path.join(BASE_STORAGE_PATH, testSuiteName, logFileName);
201208
try {
202209
const data = await fsPromises.readFile(filePath, 'utf8');
203-
// eslint-disable-next-line no-console
204-
console.log(data);
210+
logger.infoMessage(data.toString());
205211
} catch (err) {
206212
// Don't log error when no directories are found, because directories are managed by the custom mocha reporter.
207213
if (!err.message.includes('ENOENT')) {
208214
// eslint-disable-next-line no-console
209-
console.error(`Error reading log file at ${filePath}: ${err}`);
215+
logger.errorMessage(`Error reading log file at ${filePath}: ${err}`);
210216
}
211217
}
212218
};
@@ -224,7 +230,7 @@ const readAllLogFiles = async (logFileName) => {
224230
await Promise.all(readOperations)
225231
.catch((err) => {
226232
// eslint-disable-next-line no-console
227-
console.error('An error occurred while reading log files:', err);
233+
logger.errorMessage('An error occurred while reading log files:', err);
228234
});
229235
};
230236

@@ -254,7 +260,7 @@ const aggregateResults = (testSuiteName, logFileName, searchKeyword) => {
254260
}
255261
} catch (err) {
256262
// eslint-disable-next-line no-console
257-
console.error(`Error reading directory for ${testSuiteName}: ${err}`);
263+
logger.errorMessage(`Error reading directory for ${testSuiteName}: ${err}`);
258264
}
259265
return 0;
260266
};
@@ -276,7 +282,7 @@ const cleanupTestDirectories = (testSuites) => {
276282
// Don't log error when no directories are found, because directories are managed by the custom mocha reporter.
277283
if (!err.message.includes('ENOENT')) {
278284
// eslint-disable-next-line no-console
279-
console.error(`Error removing directory ${testDirectoryPath}: ${err}`);
285+
logger.errorMessage(`Error removing directory ${testDirectoryPath}: ${err}`);
280286
}
281287
}
282288
});

test/scripts/parallel-local/test-runner.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
const { exec } = require('child_process');
22
const fs = require('fs');
33
const path = require('path');
4+
const { LogManager } = require('@aliceo2/web-ui');
45

5-
const BASE_STORAGE_PATH = process.env.STORAGE_PATH || './database/storage';
6+
const BASE_STORAGE_PATH = process.env.STORAGE_PATH || '/tmp';
67
const MessageKey = Object.freeze({
78
NoMoreTests: 'no_more_tests',
89
RequestNextTest: 'request_next_test',
910
});
1011

12+
const workerName = process.argv[2] ?? 'unnamed';
13+
const logger = LogManager.getLogger(`WORKER ${workerName}`);
14+
1115
/**
1216
* Ensures the directory exists before executing tests.
1317
* @param {string} testType The type of the test.
@@ -45,8 +49,7 @@ const manageTestExecution = (testConfiguration) => {
4549
executeTest(testConfiguration)
4650
.then(() => process.send(MessageKey.RequestNextTest))
4751
.catch((error) => {
48-
// eslint-disable-next-line no-console
49-
console.error('Test execution error:', error);
52+
logger.errorMessage(`Test execution error: ${error.toString()}`);
5053
process.send(MessageKey.RequestNextTest);
5154
});
5255
};

0 commit comments

Comments
 (0)