judge: fix checkFIle impl

This commit is contained in:
undefined committed 2022-05-12 10:28:09 +08:00
1 parent 8e68670de2
commit ba3c6bb235
6 files changed
+7 -8

No files matched your search

+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@hydrooj/hydrojudge",
"bin": "bin/hydrojudge.js",
"version": "2.19.2",
"version": "2.19.3",
"main": "package.json",
"author": "undefined <i@undefined.moe>",
"repository": "https://github.com/hydro-dev/Hydro.git",
+1 -1
View File
@@ -64,7 +64,7 @@ export default async function readCases(folder: string, cfg: Record<string, any>
result.count = result.outputs?.length || Math.sum((result.subtasks || []).map((s) => s.cases.length));
if (!result.count) {
try {
result.subtasks = readSubtasksFromFiles(await collectFiles(folder), checkFile, cfg);
result.subtasks = readSubtasksFromFiles(await collectFiles(folder), cfg);
result.count = Math.sum(result.subtasks.map((i) => i.cases.length));
if (cfg.isSelfSubmission) args.next?.({ message: { message: 'Found {0} testcases.', params: [result.count] } });
} catch (e) {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@hydrooj/ui-default",
"version": "4.37.0",
"version": "4.37.1",
"author": "undefined <i@undefined.moe>",
"license": "AGPL-3.0",
"main": "hydro.js",
@@ -171,9 +171,8 @@ const page = new NamedPage('problem_config', () => {
}
if (state.config.subtasks) return;
const testdata = (state.testdata || []).map((i) => i.name);
const checkFile = (file: string) => (testdata.includes(file) ? file : null);
unsubscribe();
const subtasks = readSubtasksFromFiles(testdata, checkFile, state.config);
const subtasks = readSubtasksFromFiles(testdata, state.config);
store.dispatch({
type: 'CONFIG_AUTOCASES_UPDATE',
subtasks: normalizeSubtasks(subtasks, (i) => i, state.config.time, state.config.memory, true),
+2 -2
View File
@@ -230,7 +230,7 @@ interface ParsedSubtask {
if?: number[];
}
export function readSubtasksFromFiles(files: string[], checkFile, config) {
export function readSubtasksFromFiles(files: string[], config) {
const subtask: Record<number, ParsedSubtask> = {};
for (const s of config.subtasks || []) if (s.id) subtask[s.id] = s;
for (const file of files) {
@@ -242,7 +242,7 @@ export function readSubtasksFromFiles(files: string[], checkFile, config) {
for (const func of rule.output) {
if (config.noOutputFile) c.output = '/dev/null';
else c.output = func(data);
if (c.output === '/dev/null' || checkFile(c.output)) {
if (c.output === '/dev/null' || files.includes(c.output)) {
if (!subtask[sid]) {
subtask[sid] = {
time: config.time,
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@hydrooj/utils",
"version": "1.2.2",
"version": "1.2.3",
"description": "hydrooj utils",
"main": "package.json",
"repository": "https://github.com/hydro-dev/Hydro.git",