]> git.kaiwu.me - njs.git/commitdiff
Test262: handling the mkdir issue with a host file system.
authorDmitry Volyntsev <xeioex@nginx.com>
Tue, 30 Jan 2024 01:16:01 +0000 (17:16 -0800)
committerDmitry Volyntsev <xeioex@nginx.com>
Tue, 30 Jan 2024 01:16:01 +0000 (17:16 -0800)
test/fs/promises_05.t.js

index 5d08fd03c56cc8518acf754168327bdbc3505217..e40dfb1f0b6544799589d1c0e68ae027fc18331e 100644 (file)
@@ -49,7 +49,18 @@ var testSync = () => new Promise((resolve, reject) => {
         try {
             fs.writeFileSync(fname(dname_utf8), fname(dname_utf8));
 
-            throw new Error('fs.mkdirSync error 1');
+            const mode = fs.statSync(fname(dname_utf8)).mode & 0o777;
+
+            if (mode == 0o555) {
+                /*
+                 * Some file systems ignore the mode parameter for mkdir.
+                 * For example: a shared folder on a MacOS host mounted
+                 * to a Linux guest via Parallels Desktop.
+                 */
+                throw new Error('fs.writeFileSync did not respect mode');
+            }
+
+            fs.unlinkSync(fname(dname_utf8));
 
         } catch (e) {
             if (e.syscall != 'open' || e.code != 'EACCES') {