Skip to content
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

test: make tests pass on Windows with Unix EOL #40002

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
8 changes: 7 additions & 1 deletion test/common/index.js
Expand Up @@ -885,8 +885,14 @@ const common = {
throw new Error('common.PORT cannot be used in a parallelized test');
}
return +process.env.NODE_COMMON_PORT || 12346;
}
},

/**
* Returns the EOL character used by this Git checkout.
*/
get checkoutEOL() {
return fs.readFileSync(__filename).includes('\r\n') ? '\r\n' : '\n';
},
};

const validProperties = new Set(Object.keys(common));
Expand Down
4 changes: 2 additions & 2 deletions test/es-module/test-esm-invalid-pjson.js
@@ -1,6 +1,6 @@
'use strict';

const { mustCall, isWindows } = require('../common');
const { mustCall, checkoutEOL } = require('../common');
const fixtures = require('../common/fixtures');
const { spawn } = require('child_process');
const { strictEqual, ok } = require('assert');
Expand All @@ -21,7 +21,7 @@ child.on('close', mustCall((code, signal) => {
stderr.includes(
`[ERR_INVALID_PACKAGE_CONFIG]: Invalid package config ${invalidJson} ` +
`while importing "invalid-pjson" from ${entry}. ` +
`Unexpected token } in JSON at position ${isWindows ? 16 : 14}`
`Unexpected token } in JSON at position ${12 + checkoutEOL.length * 2}`
),
stderr);
}));
2 changes: 1 addition & 1 deletion test/parallel/test-source-map-enable.js
Expand Up @@ -250,7 +250,7 @@ function nextdir() {
'istanbul-throw.js',
coverageDirectory
);
if (common.isWindows) {
if (common.checkoutEOL === '\r\n') {
assert.deepStrictEqual(sourceMap.lineLengths, [1086, 31, 185, 649, 0]);
} else {
assert.deepStrictEqual(sourceMap.lineLengths, [1085, 30, 184, 648, 0]);
Expand Down
8 changes: 4 additions & 4 deletions test/wasi/test-wasi.js
Expand Up @@ -34,7 +34,7 @@ if (process.argv[2] === 'wasi-child') {
} else {
const assert = require('assert');
const cp = require('child_process');
const { EOL } = require('os');
const { checkoutEOL } = common;

function runWASI(options) {
console.log('executing', options.test);
Expand Down Expand Up @@ -69,7 +69,7 @@ if (process.argv[2] === 'wasi-child') {
}
runWASI({ test: 'exitcode', exitCode: 120 });
runWASI({ test: 'fd_prestat_get_refresh' });
runWASI({ test: 'freopen', stdout: `hello from input2.txt${EOL}` });
runWASI({ test: 'freopen', stdout: `hello from input2.txt${checkoutEOL}` });
runWASI({ test: 'ftruncate' });
runWASI({ test: 'getentropy' });

Expand All @@ -87,10 +87,10 @@ if (process.argv[2] === 'wasi-child') {
runWASI({ test: 'readdir' });
}

runWASI({ test: 'read_file', stdout: `hello from input.txt${EOL}` });
runWASI({ test: 'read_file', stdout: `hello from input.txt${checkoutEOL}` });
runWASI({
test: 'read_file_twice',
stdout: `hello from input.txt${EOL}hello from input.txt${EOL}`
stdout: `hello from input.txt${checkoutEOL}hello from input.txt${checkoutEOL}`
});
runWASI({ test: 'stat' });
runWASI({ test: 'write_file' });
Expand Down