mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 01:38:19 +08:00
hydrojudge: fix checker message (#1185)
This commit is contained in:
1 parent
bf8c83894a
commit
98538cafd7
1 file changed
+9
-7
@@ -23,13 +23,13 @@ function judgeCase(c: NormalizedCase) {
|
|||||||
addressSpaceLimit: address_space_limit,
|
addressSpaceLimit: address_space_limit,
|
||||||
processLimit: process_limit,
|
processLimit: process_limit,
|
||||||
},
|
},
|
||||||
`judgeCase[${c.id}]${mp.i ? `[pass=${mp.i}]` : ''}<${ctx.rid}>`,
|
`judgeCase[${c.id}]${mp.i ? `{pass=${mp.i}}` : ''}<${ctx.rid}>`,
|
||||||
);
|
);
|
||||||
const {
|
const {
|
||||||
code, signalled, time, memory, fileIds,
|
code, signalled, time, memory, fileIds,
|
||||||
} = res;
|
} = res;
|
||||||
let { status } = res;
|
let { status } = res;
|
||||||
let message: any = mp.i ? `[Pass ${mp.i}] ` : '';
|
let message: any = '';
|
||||||
let score = 0;
|
let score = 0;
|
||||||
let nextPass: any;
|
let nextPass: any;
|
||||||
if (status === STATUS.STATUS_ACCEPTED) {
|
if (status === STATUS.STATUS_ACCEPTED) {
|
||||||
@@ -38,7 +38,9 @@ function judgeCase(c: NormalizedCase) {
|
|||||||
} else if (memory > c.memory * 1024) {
|
} else if (memory > c.memory * 1024) {
|
||||||
status = STATUS.STATUS_MEMORY_LIMIT_EXCEEDED;
|
status = STATUS.STATUS_MEMORY_LIMIT_EXCEEDED;
|
||||||
} else {
|
} else {
|
||||||
const resChecker = await checkers[ctx.config.checker_type]({
|
({
|
||||||
|
status, score, message, nextPass,
|
||||||
|
} = await checkers[ctx.config.checker_type]({
|
||||||
execute: ctx.checker.execute,
|
execute: ctx.checker.execute,
|
||||||
copyIn: {
|
copyIn: {
|
||||||
...ctx.checker.copyIn,
|
...ctx.checker.copyIn,
|
||||||
@@ -58,13 +60,13 @@ function judgeCase(c: NormalizedCase) {
|
|||||||
HYDRO_MEMORY_USAGE: Math.floor(memory / 1024).toString(),
|
HYDRO_MEMORY_USAGE: Math.floor(memory / 1024).toString(),
|
||||||
...(mp.i ? { HYDRO_MULTI_PASS: mp.i.toString() } : {}),
|
...(mp.i ? { HYDRO_MULTI_PASS: mp.i.toString() } : {}),
|
||||||
},
|
},
|
||||||
});
|
}));
|
||||||
({ status, score, nextPass } = resChecker);
|
if (mp.i && typeof message === 'string') message = `${message} [Pass ${mp.i}]`;
|
||||||
message += resChecker.message;
|
|
||||||
}
|
}
|
||||||
} else if (status === STATUS.STATUS_RUNTIME_ERROR && code && ctx.config.detail === 'full') {
|
} else if (status === STATUS.STATUS_RUNTIME_ERROR && code && ctx.config.detail === 'full') {
|
||||||
if (code < 32 && signalled) message = signals[code];
|
if (code < 32 && signalled) message = signals[code];
|
||||||
else message = { message: `${message}Your program returned {0}.`, params: [code] };
|
else message = { message: 'Your program returned {0}.', params: [`${code}${mp.i ? ` [Pass ${mp.i}]` : ''}`] };
|
||||||
|
if (mp.i && typeof message === 'string') message = `${message} [Pass ${mp.i}]`;
|
||||||
}
|
}
|
||||||
if (nextPass) {
|
if (nextPass) {
|
||||||
if (mp.i < ctx.config.multi_pass) {
|
if (mp.i < ctx.config.multi_pass) {
|
||||||
|
|||||||
Reference in new issue
Block a user