+82
-39
lines changedFilter options
+82
-39
lines changed Original file line number Diff line number Diff line change
@@ -40,6 +40,7 @@ jobs:
40
40
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
41
41
with:
42
42
persist-credentials: false
43
+
path: node
43
44
- name: Set up Python ${{ env.PYTHON_VERSION }}
44
45
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
45
46
with:
@@ -51,6 +52,13 @@ jobs:
51
52
- name: Environment Information
52
53
run: npx envinfo
53
54
- name: Build
54
-
run: make build-ci -j4 V=1 CONFIG_FLAGS="--error-on-warn"
55
+
run: make -C node build-ci -j4 V=1 CONFIG_FLAGS="--error-on-warn"
55
56
- name: Test
56
-
run: make run-ci -j4 V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=spec' --node-args='--test-reporter-destination=stdout' --measure-flakiness 9"
57
+
run: make -C node run-ci -j4 V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=spec' --node-args='--test-reporter-destination=stdout' --measure-flakiness 9"
58
+
- name: Re-run test in a folder whose name contains unusual chars
59
+
run: |
60
+
mv node "$DIR"
61
+
cd "$DIR"
62
+
./tools/test.py --flaky-tests keep_retrying -p actions -j 4
63
+
env:
64
+
DIR: dir%20with $unusual"chars?'åß∂ƒ©∆¬…`
Original file line number Diff line number Diff line change
@@ -51,6 +51,7 @@ jobs:
51
51
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
52
52
with:
53
53
persist-credentials: false
54
+
path: node
54
55
- name: Set up Python ${{ env.PYTHON_VERSION }}
55
56
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
56
57
with:
@@ -68,7 +69,7 @@ jobs:
68
69
# happen anymore running this step here first, that's also useful
69
70
# information.)
70
71
- name: tools/doc/node_modules workaround
71
-
run: make tools/doc/node_modules
72
+
run: make -C node tools/doc/node_modules
72
73
# This is needed due to https://github.com/nodejs/build/issues/3878
73
74
- name: Cleanup
74
75
run: |
@@ -84,8 +85,15 @@ jobs:
84
85
df -h
85
86
echo "::endgroup::"
86
87
- name: Build
87
-
run: make build-ci -j$(getconf _NPROCESSORS_ONLN) V=1 CONFIG_FLAGS="--error-on-warn"
88
+
run: make -C node build-ci -j$(getconf _NPROCESSORS_ONLN) V=1 CONFIG_FLAGS="--error-on-warn"
88
89
- name: Free Space After Build
89
90
run: df -h
90
91
- name: Test
91
-
run: make run-ci -j$(getconf _NPROCESSORS_ONLN) V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=spec' --node-args='--test-reporter-destination=stdout' --measure-flakiness 9"
92
+
run: make -C node run-ci -j$(getconf _NPROCESSORS_ONLN) V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=spec' --node-args='--test-reporter-destination=stdout' --measure-flakiness 9"
93
+
- name: Re-run test in a folder whose name contains unusual chars
94
+
run: |
95
+
mv node "$DIR"
96
+
cd "$DIR"
97
+
./tools/test.py --flaky-tests keep_retrying -p actions -j 4
98
+
env:
99
+
DIR: dir%20with $unusual"chars?'åß∂ƒ©∆¬…`
Original file line number Diff line number Diff line change
@@ -1135,6 +1135,15 @@ const common = {
1135
1135
get checkoutEOL() {
1136
1136
return fs.readFileSync(__filename).includes('\r\n') ? '\r\n' : '\n';
1137
1137
},
1138
+
1139
+
get isInsideDirWithUnusualChars() {
1140
+
return __dirname.includes('%') ||
1141
+
(!isWindows && __dirname.includes('\\')) ||
1142
+
__dirname.includes('$') ||
1143
+
__dirname.includes('\n') ||
1144
+
__dirname.includes('\r') ||
1145
+
__dirname.includes('\t');
1146
+
},
1138
1147
};
1139
1148
1140
1149
const validProperties = new Set(Object.keys(common));
Original file line number Diff line number Diff line change
@@ -26,6 +26,7 @@ const {
26
26
isDumbTerminal,
27
27
isFreeBSD,
28
28
isIBMi,
29
+
isInsideDirWithUnusualChars,
29
30
isLinux,
30
31
isLinuxPPCBE,
31
32
isMainThread,
@@ -81,6 +82,7 @@ export {
81
82
isDumbTerminal,
82
83
isFreeBSD,
83
84
isIBMi,
85
+
isInsideDirWithUnusualChars,
84
86
isLinux,
85
87
isLinuxPPCBE,
86
88
isMainThread,
Original file line number Diff line number Diff line change
@@ -19,6 +19,8 @@ describe('ESM: Package.json', { concurrency: !process.env.TEST_PARALLEL }, () =>
19
19
assert.ok(
20
20
stderr.includes(
21
21
`Invalid package config ${path.toNamespacedPath(invalidJson)} while importing "invalid-pjson" from ${entry}.`
22
+
) || stderr.includes(
23
+
`Invalid package config ${path.toNamespacedPath(invalidJson)} while importing "invalid-pjson" from ${path.toNamespacedPath(entry)}.`
22
24
),
23
25
stderr
24
26
);
Original file line number Diff line number Diff line change
@@ -8,7 +8,8 @@ const {
8
8
function spawn() {
9
9
const { spawnSync, execFileSync, execSync } = require('child_process');
10
10
spawnSync(process.execPath, [ __filename, 'spawnSync' ], { stdio: 'inherit' });
11
-
execSync(`"${process.execPath}" "${__filename}" "execSync"`, { stdio: 'inherit' });
11
+
if (!process.env.DIRNAME_CONTAINS_SHELL_UNSAFE_CHARS)
12
+
execSync(`"${process.execPath}" "${__filename}" "execSync"`, { stdio: 'inherit' });
12
13
execFileSync(process.execPath, [ __filename, 'execFileSync' ], { stdio: 'inherit' });
13
14
}
14
15
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
1
-
import { mustCall, mustNotMutateObjectDeep } from '../common/index.mjs';
1
+
import { mustCall, mustNotMutateObjectDeep, isInsideDirWithUnusualChars } from '../common/index.mjs';
2
2
3
3
import assert from 'assert';
4
4
import fs from 'fs';
@@ -264,7 +264,7 @@ function nextdir(dirname) {
264
264
}
265
265
266
266
// It throws error if parent directory of symlink in dest points to src.
267
-
{
267
+
if (!isInsideDirWithUnusualChars) {
268
268
const src = nextdir();
269
269
mkdirSync(join(src, 'a'), mustNotMutateObjectDeep({ recursive: true }));
270
270
const dest = nextdir();
@@ -279,7 +279,7 @@ function nextdir(dirname) {
279
279
}
280
280
281
281
// It throws error if attempt is made to copy directory to file.
282
-
{
282
+
if (!isInsideDirWithUnusualChars) {
283
283
const src = nextdir();
284
284
mkdirSync(src, mustNotMutateObjectDeep({ recursive: true }));
285
285
const dest = './test/fixtures/copy/kitchen-sink/README.md';
@@ -310,7 +310,7 @@ function nextdir(dirname) {
310
310
311
311
312
312
// It throws error if attempt is made to copy file to directory.
313
-
{
313
+
if (!isInsideDirWithUnusualChars) {
314
314
const src = './test/fixtures/copy/kitchen-sink/README.md';
315
315
const dest = nextdir();
316
316
mkdirSync(dest, mustNotMutateObjectDeep({ recursive: true }));
@@ -346,7 +346,7 @@ function nextdir(dirname) {
346
346
347
347
// It throws error if attempt is made to copy src to dest
348
348
// when src is parent directory of the parent of dest
349
-
{
349
+
if (!isInsideDirWithUnusualChars) {
350
350
const src = nextdir('a');
351
351
const destParent = nextdir('a/b');
352
352
const dest = nextdir('a/b/c');
@@ -370,7 +370,7 @@ function nextdir(dirname) {
370
370
}
371
371
372
372
// It throws an error if attempt is made to copy socket.
373
-
if (!isWindows) {
373
+
if (!isWindows && !isInsideDirWithUnusualChars) {
374
374
const src = nextdir();
375
375
mkdirSync(src);
376
376
const dest = nextdir();
@@ -738,7 +738,7 @@ if (!isWindows) {
738
738
}
739
739
740
740
// It returns an error if attempt is made to copy socket.
741
-
if (!isWindows) {
741
+
if (!isWindows && !isInsideDirWithUnusualChars) {
742
742
const src = nextdir();
743
743
mkdirSync(src);
744
744
const dest = nextdir();
Original file line number Diff line number Diff line change
@@ -7,8 +7,10 @@ if (!process.config.variables.node_use_amaro) common.skip('Requires Amaro');
7
7
const { NodeInstance } = require('../common/inspector-helper.js');
8
8
const fixtures = require('../common/fixtures');
9
9
const assert = require('assert');
10
+
const { pathToFileURL } = require('url');
10
11
11
12
const scriptPath = fixtures.path('typescript/ts/test-typescript.ts');
13
+
const scriptURL = pathToFileURL(scriptPath);
12
14
13
15
async function runTest() {
14
16
const child = new NodeInstance(
@@ -30,10 +32,10 @@ async function runTest() {
30
32
const scriptParsed = await session.waitForNotification((notification) => {
31
33
if (notification.method !== 'Debugger.scriptParsed') return false;
32
34
33
-
return notification.params.url === scriptPath;
35
+
return notification.params.url === scriptPath || notification.params.url === scriptURL.href;
34
36
});
35
37
// Verify that the script has a sourceURL, hinting that it is a generated source.
36
-
assert(scriptParsed.params.hasSourceURL);
38
+
assert(scriptParsed.params.hasSourceURL || common.isInsideDirWithUnusualChars);
37
39
38
40
await session.waitForPauseOnStart();
39
41
await session.runToCompletion();
Original file line number Diff line number Diff line change
@@ -2,6 +2,8 @@
2
2
const common = require('../common');
3
3
if (!common.hasCrypto)
4
4
common.skip('missing crypto');
5
+
if (common.isInsideDirWithUnusualChars)
6
+
common.skip('npm does not support this install path');
5
7
6
8
const path = require('path');
7
9
const exec = require('child_process').exec;
Original file line number Diff line number Diff line change
@@ -3,7 +3,7 @@
3
3
// This tests that process.cwd() is accurate when
4
4
// restoring state from a snapshot
5
5
6
-
require('../common');
6
+
const { isInsideDirWithUnusualChars } = require('../common');
7
7
const { spawnSyncAndAssert } = require('../common/child_process');
8
8
const tmpdir = require('../common/tmpdir');
9
9
const fixtures = require('../common/fixtures');
@@ -14,7 +14,7 @@ const blobPath = tmpdir.resolve('snapshot.blob');
14
14
const file = fixtures.path('snapshot', 'child-process-sync.js');
15
15
const expected = [
16
16
'From child process spawnSync',
17
-
'From child process execSync',
17
+
...(isInsideDirWithUnusualChars ? [] : ['From child process execSync']),
18
18
'From child process execFileSync',
19
19
];
20
20
@@ -27,6 +27,7 @@ const expected = [
27
27
file,
28
28
], {
29
29
cwd: tmpdir.path,
30
+
env: { ...process.env, DIRNAME_CONTAINS_SHELL_UNSAFE_CHARS: isInsideDirWithUnusualChars ? 'TRUE' : '' },
30
31
}, {
31
32
trim: true,
32
33
stdout(output) {
@@ -43,6 +44,7 @@ const expected = [
43
44
file,
44
45
], {
45
46
cwd: tmpdir.path,
47
+
env: { ...process.env, DIRNAME_CONTAINS_SHELL_UNSAFE_CHARS: isInsideDirWithUnusualChars ? 'TRUE' : '' },
46
48
}, {
47
49
trim: true,
48
50
stdout(output) {
You can’t perform that action at this time.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4