Skip to content

Commit 98538ca

Browse files
authored
hydrojudge: fix checker message (#1185)
1 parent bf8c838 commit 98538ca

1 file changed

Lines changed: 9 additions & 7 deletions

File tree

packages/hydrojudge/src/judge/default.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@ function judgeCase(c: NormalizedCase) {
2323
addressSpaceLimit: address_space_limit,
2424
processLimit: process_limit,
2525
},
26-
`judgeCase[${c.id}]${mp.i ? `[pass=${mp.i}]` : ''}<${ctx.rid}>`,
26+
`judgeCase[${c.id}]${mp.i ? `{pass=${mp.i}}` : ''}<${ctx.rid}>`,
2727
);
2828
const {
2929
code, signalled, time, memory, fileIds,
3030
} = res;
3131
let { status } = res;
32-
let message: any = mp.i ? `[Pass ${mp.i}] ` : '';
32+
let message: any = '';
3333
let score = 0;
3434
let nextPass: any;
3535
if (status === STATUS.STATUS_ACCEPTED) {
@@ -38,7 +38,9 @@ function judgeCase(c: NormalizedCase) {
3838
} else if (memory > c.memory * 1024) {
3939
status = STATUS.STATUS_MEMORY_LIMIT_EXCEEDED;
4040
} else {
41-
const resChecker = await checkers[ctx.config.checker_type]({
41+
({
42+
status, score, message, nextPass,
43+
} = await checkers[ctx.config.checker_type]({
4244
execute: ctx.checker.execute,
4345
copyIn: {
4446
...ctx.checker.copyIn,
@@ -58,13 +60,13 @@ function judgeCase(c: NormalizedCase) {
5860
HYDRO_MEMORY_USAGE: Math.floor(memory / 1024).toString(),
5961
...(mp.i ? { HYDRO_MULTI_PASS: mp.i.toString() } : {}),
6062
},
61-
});
62-
({ status, score, nextPass } = resChecker);
63-
message += resChecker.message;
63+
}));
64+
if (mp.i && typeof message === 'string') message = `${message} [Pass ${mp.i}]`;
6465
}
6566
} else if (status === STATUS.STATUS_RUNTIME_ERROR && code && ctx.config.detail === 'full') {
6667
if (code < 32 && signalled) message = signals[code];
67-
else message = { message: `${message}Your program returned {0}.`, params: [code] };
68+
else message = { message: 'Your program returned {0}.', params: [`${code}${mp.i ? ` [Pass ${mp.i}]` : ''}`] };
69+
if (mp.i && typeof message === 'string') message = `${message} [Pass ${mp.i}]`;
6870
}
6971
if (nextPass) {
7072
if (mp.i < ctx.config.multi_pass) {

0 commit comments

Comments
 (0)