[ https://issues.apache.org/jira/browse/CB-5330?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13821551#comment-13821551 ]
Jonathan Bond commented on CB-5330: ----------------------------------- I'm seeing the exact same error and it's driving me nuts. It looks like fs.readdirSync(dir) https://github.com/arturadib/shelljs/blob/master/src/rm.js#L15 Reports that a file exists in the directory while it clearly has been removed successfully. This looks like an issue with node.js on Windows. Some debugging output: > cordova@3.2.0-rc.1 test F:\Jonathan\Github\Cordova\cordova-cli > jasmine-node --color spec .............................................................RMDIR F:\Jonathan\Github\Cordova\cordova-cli\temp RMDIR FILE F:\Jonathan\Github\Cordova\cordova-cli\temp\.cordova RMDIR F:\Jonathan\Github\Cordova\cordova-cli\temp\.cordova RMDIR FILE F:\Jonathan\Github\Cordova\cordova-cli\temp\.cordova\hooks RMDIR F:\Jonathan\Github\Cordova\cordova-cli\temp\.cordova\hooks RMDIR FILE F:\Jonathan\Github\Cordova\cordova-cli\temp\.cordova\hooks\before_build RMDIR F:\Jonathan\Github\Cordova\cordova-cli\temp\.cordova\hooks\before_build .....................BEFORE AFTER RMDIR F:\Jonathan\Github\Cordova\cordova-cli\temp\.cordova\hooks\before_build .BEFORE COPY F:\Jonathan\Github\Cordova\cordova-cli\temp\.cordova\hooks\before_build\fail.bat DONE COPY AFTER UNLINK F:\Jonathan\Github\Cordova\cordova-cli\temp\.cordova\hooks\before_build\fail.bat UNLINK OK F:\Jonathan\Github\Cordova\cordova-cli\temp\.cordova\hooks\before_build\fail.bat RMDIR F:\Jonathan\Github\Cordova\cordova-cli\temp\.cordova\hooks\before_build RMDIR FILE F:\Jonathan\Github\Cordova\cordova-cli\temp\.cordova\hooks\before_build\fail.bat RMDIR FILE DOES NOT EXIST? F:\Jonathan\Github\Cordova\cordova-cli\temp\.cordova\hooks\before_build\fail.bat shell.js: internal error Error: EPERM, operation not permitted 'F:\Jonathan\Github\Cordova\cordova-cli\temp\.cordova\hooks\before_build\fail.bat' at Object.fs.lstatSync (fs.js:679:18) at rmdirSyncRecursive (F:\Jonathan\Github\Cordova\cordova-cli\node_modules\shelljs\shell.js:1590:23) at F:\Jonathan\Github\Cordova\cordova-cli\node_modules\shelljs\shell.js:412:7 at Array.forEach (native) at Object._rm (F:\Jonathan\Github\Cordova\cordova-cli\node_modules\shelljs\shell.js:376:9) at Object.rm (F:\Jonathan\Github\Cordova\cordova-cli\node_modules\shelljs\shell.js:1471:23) at null.<anonymous> (F:\Jonathan\Github\Cordova\cordova-cli\spec\hooker.spec.js:98:12) at jasmine.Block.execute (F:\Jonathan\GitHub\Cordova\cordova-cli\node_modules\jasmine-node\lib\jasmine-node/jasmine-1.3.1.js:1064:17) at jasmine.Queue.next_ (F:\Jonathan\GitHub\Cordova\cordova-cli\node_modules\jasmine-node\lib\jasmine-node/jasmine-1.3.1.js:2096:31) at onComplete (F:\Jonathan\GitHub\Cordova\cordova-cli\node_modules\jasmine-node\lib\jasmine-node/jasmine-1.3.1.js:2092:18) PS F:\Jonathan\Github\Cordova\cordova-cli> > Fix cordova-cli hooker.spec tests > --------------------------------- > > Key: CB-5330 > URL: https://issues.apache.org/jira/browse/CB-5330 > Project: Apache Cordova > Issue Type: Bug > Components: CLI > Affects Versions: 3.1.0 > Environment: Windows8 > Reporter: Jesse MacFadyen > > Running node tests without hooker.spec.js runs without issue. > Running node tests on windows in the CLI results in the following fatal > output. > ===== > {code} > $ npm test > > cordova@3.1.0-0.2.0 test c:\Repos\cordova\cordova-cli > > jasmine-node --color spec > ...................................................................................rm: > could not rem > ove directory (code ENOTEMPTY): > c:\Repos\cordova\cordova-cli\temp/.cordova/hooks/before_build > rm: could not remove directory (code ENOTEMPTY): > c:\Repos\cordova\cordova-cli\temp/.cordova/hooks/be > fore_build > rm: could not remove directory (code ENOTEMPTY): > c:\Repos\cordova\cordova-cli\temp/.cordova/hooks > rm: could not remove directory (code ENOTEMPTY): > c:\Repos\cordova\cordova-cli\temp/.cordova/hooks/be > fore_build > rm: could not remove directory (code ENOTEMPTY): > c:\Repos\cordova\cordova-cli\temp/.cordova/hooks > rm: could not remove directory (code ENOTEMPTY): > c:\Repos\cordova\cordova-cli\temp/.cordova > rm: could not remove directory (code ENOTEMPTY): > c:\Repos\cordova\cordova-cli\temp/.cordova/hooks/be > fore_build > rm: could not remove directory (code ENOTEMPTY): > c:\Repos\cordova\cordova-cli\temp/.cordova/hooks > rm: could not remove directory (code ENOTEMPTY): > c:\Repos\cordova\cordova-cli\temp/.cordova > rm: could not remove directory (code ENOTEMPTY): > c:\Repos\cordova\cordova-cli\temp > .{ [Error: EPERM, operation not permitted > 'c:\Repos\cordova\cordova-cli\temp\.cordova\hooks\before_b > uild\fail.bat'] > errno: 50, > code: 'EPERM', > path: > 'c:\\Repos\\cordova\\cordova-cli\\temp\\.cordova\\hooks\\before_build\\fail.bat', > syscall: 'stat' } > {code} -- This message was sent by Atlassian JIRA (v6.1#6144)