judge: fix readCases with limits

pull/118/head
undefined 4 years ago
parent bee8537a91
commit 04a68e35bd

@ -1,7 +1,7 @@
{
"name": "@hydrooj/hydrojudge",
"bin": "bin/hydrojudge.js",
"version": "2.5.3",
"version": "2.5.4",
"main": "package.json",
"author": "undefined <i@undefined.moe>",
"repository": "https://github.com/hydro-dev/Hydro.git",

@ -20,17 +20,17 @@ interface Re1 extends Re0 {
const RE0: Re0[] = [
{
reg: /^([a-z+_\-A-Z]*)([0-9]+).in$/,
reg: /^([^\d]*)([0-9]+).in$/,
output: (a) => `${a[1] + a[2]}.out`,
id: (a) => parseInt(a[2], 10),
},
{
reg: /^([a-z+_\-A-Z]*)([0-9]+).in$/,
reg: /^([^\d]*)([0-9]+).in$/,
output: (a) => `${a[1] + a[2]}.ans`,
id: (a) => parseInt(a[2], 10),
},
{
reg: /^([a-z+_\-A-Z0-9]*)\.in([0-9]+)$/,
reg: /^([^\d]*)\.in([0-9]+)$/,
output: (a) => `${a[1]}.ou${a[2]}`,
id: (a) => parseInt(a[2], 10),
},
@ -40,17 +40,17 @@ const RE0: Re0[] = [
id: (a) => parseInt(a[2], 10),
},
{
reg: /^input\/([a-z+_\-A-Z]*)([0-9]+).in$/,
reg: /^input\/([^\d]*)([0-9]+).in$/,
output: (a) => `output/${a[1] + a[2]}.out`,
id: (a) => parseInt(a[2], 10),
},
{
reg: /^input\/([a-z+_\-A-Z]*)([0-9]+).in$/,
reg: /^input\/([^\d]*)([0-9]+).in$/,
output: (a) => `output/${a[1] + a[2]}.ans`,
id: (a) => parseInt(a[2], 10),
},
{
reg: /^input\/([a-z+_\-A-Z0-9]*)\.in([0-9]+)$/,
reg: /^input\/([^\d]*)\.in([0-9]+)$/,
output: (a) => `output/${a[1]}.ou${a[2]}`,
id: (a) => parseInt(a[2], 10),
},
@ -228,9 +228,9 @@ export default async function readCases(folder: string, cfg: Record<string, any>
throw changeErrorType(e, FormatError);
}
if (!(result.outputs || result.subtasks.length)) {
const c = await readAutoCases(folder, args, cfg);
config.subtasks = c.subtasks;
config.count = c.count;
const c = await readAutoCases(folder, args, config);
result.subtasks = c.subtasks;
result.count = c.count;
}
isValidConfig(result);
return result;

@ -1,6 +1,6 @@
{
"name": "hydrooj",
"version": "2.23.2",
"version": "2.23.3",
"bin": "bin/hydrooj.js",
"main": "dist/loader.js",
"typings": "dist/loader.d.ts",

@ -186,6 +186,12 @@ export class ProblemDetailHandler extends ProblemHandler {
],
};
this.extraTitleContent = this.pdoc.title;
// Get time and memory limit
try {
this.response.body.pdoc.config = await parseConfig(this.pdoc.config);
} catch (e) {
this.response.body.pdoc.config = `Cannot parse: ${e.message}`;
}
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
@ -194,12 +200,6 @@ export class ProblemDetailHandler extends ProblemHandler {
// e.g. ![img](a.jpg) will navigate to ![img](./pid/file/a.jpg)
this.response.body.pdoc.content = this.response.body.pdoc.content
.replace(/\(file:\/\//g, `(./${this.pdoc.docId}/file/`);
// Get time and memory limit
try {
this.response.body.pdoc.config = await parseConfig(this.pdoc.config);
} catch (e) {
this.response.body.pdoc.config = `Cannot parse: ${e.message}`;
}
if (this.pdoc.psdoc) {
this.response.body.rdoc = await record.get(this.domainId, this.pdoc.psdoc.rid);
}

Loading…
Cancel
Save