diff --git a/api/main_endpoints/util/Printer.js b/api/main_endpoints/util/Printer.js index 0da5e2219..3efaa37e0 100644 --- a/api/main_endpoints/util/Printer.js +++ b/api/main_endpoints/util/Printer.js @@ -15,7 +15,7 @@ async function cleanUpChunks(dir, id) { for (let chunk of chunks) { if (!path.basename(chunk).includes(id)) continue; - await fs.promises.unlink(path.join(dir, chunk), err => { + await fs.promises.unlink(path.join(dir, chunk)).catch(err => { logger.error(`Failed to delete chunk with id ${id} in ${dir}: ` + err); }); } @@ -43,7 +43,7 @@ async function cleanUpExpiredChunks(dir, expiry) { const age = Date.now() - stats.mtimeMs; if (age >= expiry) { - await fs.promises.unlink(path.join(dir, chunk), err => { + await fs.promises.unlink(path.join(dir, chunk)).catch(err => { logger.warn(`Failed to delete expired chunk in ${dir}: ` + err); }); diff --git a/test/api/Printer.js b/test/api/Printer.js index 639de8f9e..7e285dc1a 100644 --- a/test/api/Printer.js +++ b/test/api/Printer.js @@ -64,6 +64,8 @@ describe('Printer', () => { const MY_BIRTH_DATE = new Date('December 4, 2005 07:53:00'); it('Should delete expired chunks (5 minutes or older)', async () => { + // Clean up any pre-existing expired chunks from previous runs + await printerUtil.cleanUpExpiredChunks(CHUNK_DIRECTORY, 0); const dirBefore = await fs.promises.readdir(CHUNK_DIRECTORY); const numFilesBefore = dirBefore.length;