From 0de7247868b218a8c84f96a12d33d79828ce645f Mon Sep 17 00:00:00 2001 From: Asher Date: Wed, 24 Apr 2019 18:15:56 -0500 Subject: [PATCH] Fix protocol fs test --- packages/protocol/test/fs.test.ts | 21 ++++++++++++--------- packages/protocol/test/spdlog.test.ts | 3 ++- packages/protocol/test/trash.test.ts | 5 ++++- scripts/test-setup.js | 12 ++++++++++++ 4 files changed, 30 insertions(+), 11 deletions(-) diff --git a/packages/protocol/test/fs.test.ts b/packages/protocol/test/fs.test.ts index 483f144b..c8db7498 100644 --- a/packages/protocol/test/fs.test.ts +++ b/packages/protocol/test/fs.test.ts @@ -70,12 +70,12 @@ describe("fs", () => { describe("chown", () => { it("should chown existing file", async () => { const file = await helper.createTmpFile(); - await expect(util.promisify(fs.chown)(file, 1, 1)) + await expect(util.promisify(nativeFs.chown)(file, 1000, 1000)) .resolves.toBeUndefined(); }); it("should fail to chown nonexistent file", async () => { - await expect(util.promisify(fs.chown)(helper.tmpFile(), 1, 1)) + await expect(util.promisify(fs.chown)(helper.tmpFile(), 1000, 1000)) .rejects.toThrow("ENOENT"); }); }); @@ -198,13 +198,13 @@ describe("fs", () => { it("should fchown existing file", async () => { const file = await helper.createTmpFile(); const fd = await util.promisify(nativeFs.open)(file, "r"); - await expect(util.promisify(fs.fchown)(fd, 1, 1)) + await expect(util.promisify(fs.fchown)(fd, 1000, 1000)) .resolves.toBeUndefined(); await util.promisify(nativeFs.close)(fd); }); it("should fail to fchown nonexistent file", async () => { - await expect(util.promisify(fs.fchown)(99999, 1, 1)) + await expect(util.promisify(fs.fchown)(99999, 1000, 1000)) .rejects.toThrow("EBADF"); }); }); @@ -275,7 +275,7 @@ describe("fs", () => { it("should futimes existing file", async () => { const file = await helper.createTmpFile(); const fd = await util.promisify(nativeFs.open)(file, "w"); - await expect(util.promisify(fs.futimes)(fd, 1, 1)) + await expect(util.promisify(fs.futimes)(fd, 1000, 1000)) .resolves.toBeUndefined(); await util.promisify(nativeFs.close)(fd); }); @@ -311,12 +311,12 @@ describe("fs", () => { describe("lchown", () => { it("should lchown existing file", async () => { const file = await helper.createTmpFile(); - await expect(util.promisify(fs.lchown)(file, 1, 1)) + await expect(util.promisify(fs.lchown)(file, 1000, 1000)) .resolves.toBeUndefined(); }); it("should fail to lchown nonexistent file", async () => { - await expect(util.promisify(fs.lchown)(helper.tmpFile(), 1, 1)) + await expect(util.promisify(fs.lchown)(helper.tmpFile(), 1000, 1000)) .rejects.toThrow("ENOENT"); }); }); @@ -621,7 +621,10 @@ describe("fs", () => { }); }); - it("should dispose", () => { - client.dispose(); + it("should dispose", (done) => { + setTimeout(() => { + client.dispose(); + done(); + }, 100); }); }); diff --git a/packages/protocol/test/spdlog.test.ts b/packages/protocol/test/spdlog.test.ts index d698df71..fedf8161 100644 --- a/packages/protocol/test/spdlog.test.ts +++ b/packages/protocol/test/spdlog.test.ts @@ -27,9 +27,10 @@ describe("spdlog", () => { .toContain("critical"); }); - it("should dispose", () => { + it("should dispose", (done) => { setTimeout(() => { client.dispose(); + done(); }, 100); }); }); diff --git a/packages/protocol/test/trash.test.ts b/packages/protocol/test/trash.test.ts index f309a613..91b11461 100644 --- a/packages/protocol/test/trash.test.ts +++ b/packages/protocol/test/trash.test.ts @@ -3,6 +3,8 @@ import * as util from "util"; import { Module } from "../src/common/proxy"; import { createClient, Helper } from "./helpers"; +// tslint:disable deprecation to use fs.exists + describe("trash", () => { const client = createClient(); const trash = client.modules[Module.Trash]; @@ -18,9 +20,10 @@ describe("trash", () => { expect(await util.promisify(fs.exists)(file)).toBeFalsy(); }); - it("should dispose", () => { + it("should dispose", (done) => { setTimeout(() => { client.dispose(); + done(); }, 100); }); }); diff --git a/scripts/test-setup.js b/scripts/test-setup.js index cdbef08e..bc070348 100644 --- a/scripts/test-setup.js +++ b/scripts/test-setup.js @@ -21,3 +21,15 @@ Object.defineProperty(fs.read, util.promisify.custom, { global.requestAnimationFrame = (cb) => { setTimeout(cb, 0); }; + +// lchmod might not be available. Jest runs graceful-fs which makes this a no-op +// when it doesn't exist but that doesn't seem to always run when running +// multiple tests (or maybe it gets undone after a test). +if (!fs.lchmod) { + fs.lchmod = function (path, mode, cb) { + if (cb) { + process.nextTick(cb); + } + }; + fs.lchmodSync = function () {}; +}