From a5d1d1161b3bb45e8cccc6aa8b6c064e574b4865 Mon Sep 17 00:00:00 2001 From: George Kalpakas Date: Sat, 2 May 2020 16:17:48 +0300 Subject: [PATCH] fix(docs-infra): exit with an error when cleaning up the preview server fails (#36837) Previously, when the preview server `build-cleanup` script failed, the error was logged but not reflected to the commands exit code. This seems to have been accidentally broken in #23576. This commit fixes it by ensuring the error is re-thrown from the `BuildCleaner#cleanUp()` method to allow the process to exit with an error exit code. PR Close #36837 --- .../scripts-js/lib/clean-up/build-cleaner.ts | 1 + .../test/clean-up/build-cleaner.spec.ts | 40 +++++-------------- 2 files changed, 11 insertions(+), 30 deletions(-) diff --git a/aio/aio-builds-setup/dockerbuild/scripts-js/lib/clean-up/build-cleaner.ts b/aio/aio-builds-setup/dockerbuild/scripts-js/lib/clean-up/build-cleaner.ts index d52cc6ebbc..99b4ddadcf 100644 --- a/aio/aio-builds-setup/dockerbuild/scripts-js/lib/clean-up/build-cleaner.ts +++ b/aio/aio-builds-setup/dockerbuild/scripts-js/lib/clean-up/build-cleaner.ts @@ -35,6 +35,7 @@ export class BuildCleaner { ]); } catch (error) { this.logger.error('ERROR:', error); + throw error; } } diff --git a/aio/aio-builds-setup/dockerbuild/scripts-js/test/clean-up/build-cleaner.spec.ts b/aio/aio-builds-setup/dockerbuild/scripts-js/test/clean-up/build-cleaner.spec.ts index 596ff2cc3d..80e5187b9b 100644 --- a/aio/aio-builds-setup/dockerbuild/scripts-js/test/clean-up/build-cleaner.spec.ts +++ b/aio/aio-builds-setup/dockerbuild/scripts-js/test/clean-up/build-cleaner.spec.ts @@ -130,52 +130,32 @@ describe('BuildCleaner', () => { it('should reject if \'getOpenPrNumbers()\' rejects', async () => { - try { - cleanerGetOpenPrNumbersSpy.and.callFake(() => Promise.reject('Test')); - await cleaner.cleanUp(); - } catch (err) { - expect(err).toBe('Test'); - } + cleanerGetOpenPrNumbersSpy.and.rejectWith('Test'); + await expectAsync(cleaner.cleanUp()).toBeRejectedWith('Test'); }); it('should reject if \'getExistingBuildNumbers()\' rejects', async () => { - try { - cleanerGetExistingBuildNumbersSpy.and.callFake(() => Promise.reject('Test')); - await cleaner.cleanUp(); - } catch (err) { - expect(err).toBe('Test'); - } + cleanerGetExistingBuildNumbersSpy.and.rejectWith('Test'); + await expectAsync(cleaner.cleanUp()).toBeRejectedWith('Test'); }); it('should reject if \'getExistingDownloads()\' rejects', async () => { - try { - cleanerGetExistingDownloadsSpy.and.callFake(() => Promise.reject('Test')); - await cleaner.cleanUp(); - } catch (err) { - expect(err).toBe('Test'); - } + cleanerGetExistingDownloadsSpy.and.rejectWith('Test'); + await expectAsync(cleaner.cleanUp()).toBeRejectedWith('Test'); }); it('should reject if \'removeUnnecessaryBuilds()\' rejects', async () => { - try { - cleanerRemoveUnnecessaryBuildsSpy.and.callFake(() => Promise.reject('Test')); - await cleaner.cleanUp(); - } catch (err) { - expect(err).toBe('Test'); - } + cleanerRemoveUnnecessaryBuildsSpy.and.rejectWith('Test'); + await expectAsync(cleaner.cleanUp()).toBeRejectedWith('Test'); }); it('should reject if \'removeUnnecessaryDownloads()\' rejects', async () => { - try { - cleanerRemoveUnnecessaryDownloadsSpy.and.callFake(() => Promise.reject('Test')); - await cleaner.cleanUp(); - } catch (err) { - expect(err).toBe('Test'); - } + cleanerRemoveUnnecessaryDownloadsSpy.and.rejectWith('Test'); + await expectAsync(cleaner.cleanUp()).toBeRejectedWith('Test'); }); });