diff --git a/packages/hydrojudge/package.json b/packages/hydrojudge/package.json index 9124d93fd..4b015e4cd 100644 --- a/packages/hydrojudge/package.json +++ b/packages/hydrojudge/package.json @@ -1,7 +1,7 @@ { "name": "@hydrooj/hydrojudge", "bin": "bin/hydrojudge.js", - "version": "2.6.1", + "version": "2.6.2", "main": "package.json", "author": "undefined ", "repository": "https://github.com/hydro-dev/Hydro.git", diff --git a/packages/hydrojudge/src/cases.ts b/packages/hydrojudge/src/cases.ts index 09adc6389..1ebd9f216 100644 --- a/packages/hydrojudge/src/cases.ts +++ b/packages/hydrojudge/src/cases.ts @@ -178,7 +178,7 @@ async function readAutoCases(folder, { next }, cfg, rst) { Object.assign(config, result); next({ message: { message: 'Found {0} testcases.', params: [config.count] } }); } catch (e) { - throw new SystemError('Cannot parse testdata.', [e]); + throw new SystemError('Cannot parse testdata.', [e.message, ...e.params]); } return config; } @@ -220,7 +220,7 @@ export default async function readCases(folder: string, cfg: Record } let auto = !result.outputs?.length; if (auto) { - if (result.subtasks.length && !Math.sum(result.subtasks.map((subtask) => subtask.cases.length))) { + if (result.subtasks.length && Math.sum(result.subtasks.map((subtask) => subtask.cases.length))) { auto = false; } } diff --git a/packages/hydrojudge/src/utils.ts b/packages/hydrojudge/src/utils.ts index a8ab7f27f..170fd9feb 100644 --- a/packages/hydrojudge/src/utils.ts +++ b/packages/hydrojudge/src/utils.ts @@ -72,6 +72,7 @@ export function restrictFile(p: string) { export function ensureFile(folder: string) { return (file: string, message: string) => { + if (file === '/dev/null') return file; // Historical issue if (file.includes('/')) { const f = path.join(folder, restrictFile(file.split('/')[1]));