From 30df7a124476f6a607842da959e7d00365860ab6 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Mon, 11 Mar 2019 10:46:15 +0100 Subject: [PATCH] fix(composer): catch/throw disk space --- lib/manager/composer/artifacts.js | 5 +++++ test/manager/composer/artifacts.spec.js | 15 +++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/lib/manager/composer/artifacts.js b/lib/manager/composer/artifacts.js index a244b34db3..1ddbbfb489 100644 --- a/lib/manager/composer/artifacts.js +++ b/lib/manager/composer/artifacts.js @@ -167,6 +167,11 @@ async function getArtifacts( ) ) { logger.info('Composer requirements cannot be resolved'); + } else if ( + err.message && + err.message.includes('write error (disk full?)') + ) { + throw new Error('disk-space'); } else { logger.warn( { err, message: err.message }, diff --git a/test/manager/composer/artifacts.spec.js b/test/manager/composer/artifacts.spec.js index 2080fdf592..227976e485 100644 --- a/test/manager/composer/artifacts.spec.js +++ b/test/manager/composer/artifacts.spec.js @@ -99,4 +99,19 @@ describe('.getArtifacts()', () => { await composer.getArtifacts('composer.json', [], '{}', config) ).toMatchSnapshot(); }); + it('throws for disk space', async () => { + platform.getFile.mockReturnValueOnce('Current composer.lock'); + fs.outputFile = jest.fn(() => { + throw new Error( + 'vendor/composer/07fe2366/sebastianbergmann-php-code-coverage-c896779/src/Report/Html/Renderer/Template/js/d3.min.js: write error (disk full?). Continue? (y/n/^C) ' + ); + }); + let e; + try { + await composer.getArtifacts('composer.json', [], '{}', config); + } catch (err) { + e = err; + } + expect(e).toBeDefined(); + }); }); -- GitLab