From 11f41825ca231d3c6ce402e5c0b3326632115ef7 Mon Sep 17 00:00:00 2001 From: Sergei Zharinov <zharinov@users.noreply.github.com> Date: Wed, 29 Jun 2022 10:57:44 +0300 Subject: [PATCH] fix(fs): Windows CI tests (#16318) --- lib/util/fs/index.spec.ts | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/lib/util/fs/index.spec.ts b/lib/util/fs/index.spec.ts index 31c2dc4ecf..1829545a73 100644 --- a/lib/util/fs/index.spec.ts +++ b/lib/util/fs/index.spec.ts @@ -243,36 +243,41 @@ describe('util/fs/index', () => { }); }); - describe('chmodLocalFile', () => { + describe('statLocalFile', () => { it('works', async () => { await withDir( async (tmpDir) => { GlobalConfig.set({ localDir: tmpDir.path }); + + expect(await statLocalFile('foo')).toBeNull(); + await writeLocalFile('foo', 'bar'); - await chmodLocalFile('foo', 0o000); - expect(await readLocalFile('foo')).toBeNull(); - await chmodLocalFile('foo', 0o444); - expect((await readLocalFile('foo'))!.toString()).toBe('bar'); + const stat = await statLocalFile('foo'); + expect(stat).toBeDefined(); + expect(stat!.isFile()).toBeTrue(); }, { unsafeCleanup: true } ); }); }); - describe('statLocalFile', () => { + describe('chmodLocalFile', () => { it('works', async () => { await withDir( async (tmpDir) => { GlobalConfig.set({ localDir: tmpDir.path }); - - expect(await statLocalFile('foo')).toBeNull(); - await writeLocalFile('foo', 'bar'); - await chmodLocalFile('foo', 0o123); + let stat = await statLocalFile('foo'); + const oldMode = stat!.mode & 0o777; + const newMode = oldMode & 0o555; // Remove `write` attributes (Windows-compatible) + + await chmodLocalFile('foo', newMode); + stat = await statLocalFile('foo'); + expect(stat!.mode & 0o777).toBe(newMode); - const res = await statLocalFile('foo'); - expect(res!.isFile()).toBeTrue(); - expect(res!.mode & 0o777).toBe(0o123); + await chmodLocalFile('foo', oldMode); + stat = await statLocalFile('foo'); + expect(stat!.mode & 0o777).toBe(oldMode); }, { unsafeCleanup: true } ); -- GitLab