Closed
Description
Jobs on test-azure_msft-win10_vs2019-x64-4
are consistently failing:
11:43:17 > git clean -dffx
11:43:17 warning: failed to remove test/.tmp.520UN9cn6/middle: Permission denied
11:43:17
11:43:17 > if errorlevel 1 exit /b
11:43:17
11:43:17 > if errorlevel 1 exit /b
11:43:17
11:43:17 > if errorlevel 1 exit /b
11:43:17
11:43:17 > if errorlevel 1 exit /b
11:43:17 Build step 'Execute Windows batch command' marked build as failure
Looking at build history, jobs were generally passing until https://ci.nodejs.org/job/node-test-binary-windows-js-suites/RUN_SUBSET=3,nodes=win10-COMPILED_BY-vs2019/7798/console which had this test failure:
14:27:26 not ok 520 parallel/test-rmdirSync-busy-loop-windows
14:27:26 ---
14:27:26 duration_ms: 0.167
14:27:26 severity: fail
14:27:26 exitcode: 1
14:27:26 stack: |-
14:27:26 node:assert:119
14:27:26 throw new AssertionError(obj);
14:27:26 ^
14:27:26
14:27:26 AssertionError [ERR_ASSERTION]: Missing expected exception.
14:27:26 at Object.<anonymous> (C:\workspace\node-test-binary-windows-js-suites\node\test\parallel\test-rmdirSync-busy-loop-windows.js:25:8)
14:27:26 at Module._compile (node:internal/modules/cjs/loader:1108:14)
14:27:26 at Object.Module._extensions..js (node:internal/modules/cjs/loader:1137:10)
14:27:26 at Module.load (node:internal/modules/cjs/loader:973:32)
14:27:26 at Function.Module._load (node:internal/modules/cjs/loader:813:14)
14:27:26 at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:76:12)
14:27:26 at node:internal/main/run_main_module:17:47 {
14:27:26 generatedMessage: false,
14:27:26 code: 'ERR_ASSERTION',
14:27:26 actual: undefined,
14:27:26 expected: /EACCES/,
14:27:26 operator: 'throws'
14:27:26 }
14:27:26 ...
After that build every build on the machine has failed with the permission denied warning.
parallel/test-rmdirSync-busy-loop-windows
is a new test being added by nodejs/node#36815 and it looks like this test is intentionally stripping permissions from the middle
dir:
const middle = join(root, 'middle');
fs.mkdirSync(middle);
fs.mkdirSync(join(middle, 'leaf')); // Make `middle` non-empty
fs.chmodSync(middle, 0);