diff --git a/test/tests/dbTest.js b/test/tests/dbTest.js index cb04a81001..4889a59593 100644 --- a/test/tests/dbTest.js +++ b/test/tests/dbTest.js @@ -1240,6 +1240,10 @@ describe("Zotero.DB", function () { await IOUtils.move(targetPath + '.copy', targetPath); await IOUtils.move(targetPath + '.copy-wal', targetPath + '-wal'); await Zotero.Utilities.Internal.subprocess('/bin/ln', ['-s', targetPath, linkPath]); + if (!(await IOUtils.exists(linkPath))) { + // Filesystem doesn't support symlinks (e.g., CIFS) + this.skip(); + } let db2 = new Zotero.DBConnection(linkPath); assert.isTrue(await db2._downgradeDatabaseFromWAL(linkPath)); diff --git a/test/tests/fileTest.js b/test/tests/fileTest.js index e5d877807f..9639a7fb7f 100644 --- a/test/tests/fileTest.js +++ b/test/tests/fileTest.js @@ -326,7 +326,16 @@ describe("Zotero.File", function () { var tmpPath = await getTempDirectory(); var destPath = OS.Path.join(tmpPath, 'missing'); var linkPath = OS.Path.join(tmpPath, 'link'); - await OS.File.unixSymLink(destPath, linkPath); + var isSymlink = false; + try { + await OS.File.unixSymLink(destPath, linkPath); + isSymlink = Zotero.File.pathToFile(linkPath).isSymlink(); + } + catch (e) {} + if (!isSymlink) { + // Symlink couldn't be created or isn't visible as one (e.g., on CIFS) + this.skip(); + } assert.throws(() => Zotero.File.createDirectoryIfMissing(linkPath), /^Broken symlink/); }); @@ -341,7 +350,16 @@ describe("Zotero.File", function () { var tmpPath = await getTempDirectory(); var destPath = OS.Path.join(tmpPath, 'missing'); var linkPath = OS.Path.join(tmpPath, 'link'); - await OS.File.unixSymLink(destPath, linkPath); + var isSymlink = false; + try { + await OS.File.unixSymLink(destPath, linkPath); + isSymlink = Zotero.File.pathToFile(linkPath).isSymlink(); + } + catch (e) {} + if (!isSymlink) { + // Symlink couldn't be created or isn't visible as one (e.g., on CIFS) + this.skip(); + } var e = await getPromiseError(Zotero.File.createDirectoryIfMissingAsync(linkPath)); assert.ok(e);