diff --git a/packages/hydrojudge/package.json b/packages/hydrojudge/package.json index e3b260986..a18252e43 100644 --- a/packages/hydrojudge/package.json +++ b/packages/hydrojudge/package.json @@ -1,7 +1,7 @@ { "name": "@hydrooj/hydrojudge", "bin": "bin/hydrojudge.js", - "version": "2.14.5", + "version": "2.14.6", "main": "package.json", "author": "undefined ", "repository": "https://github.com/hydro-dev/Hydro.git", diff --git a/packages/hydrojudge/src/testlib.ts b/packages/hydrojudge/src/testlib.ts index 6e6f6f59d..fb0b560a6 100644 --- a/packages/hydrojudge/src/testlib.ts +++ b/packages/hydrojudge/src/testlib.ts @@ -35,12 +35,21 @@ export function parse(output: string, fullscore: number) { } while (operation.test(message)) { const [, op, val, rest] = message.match(operation); + message = rest; if (op === 'status') { - status = +val; - message = rest; + const s = +val; + if ([ + STATUS.STATUS_ACCEPTED, + STATUS.STATUS_WRONG_ANSWER, + STATUS.STATUS_COMPILE_ERROR, + STATUS.STATUS_RUNTIME_ERROR, + STATUS.STATUS_MEMORY_LIMIT_EXCEEDED, + STATUS.STATUS_TIME_LIMIT_EXCEEDED, + STATUS.STATUS_OUTPUT_LIMIT_EXCEEDED, + STATUS.STATUS_FORMAT_ERROR, + ].includes(s)) status = +val; } else if (op === 'score') { score = +val; - message = rest; } } return { status, score, message: builder(message) };