judge: sandbox: check output existance for fileio

This commit is contained in:
undefined committed 2023-03-29 22:24:13 +08:00
1 parent 4d07f4a5b4
commit 7a554ffa4d
3 files changed
+5 -9

No files matched your search

-8
View File
@@ -33,14 +33,6 @@ export class FormatError extends Error {
}
}
export class RuntimeError extends Error {
type = 'RuntimeError';
constructor(public detail: string, message: string) {
super(message);
}
}
export class SystemError extends Error {
type = 'SystemError';
+4
View File
@@ -126,6 +126,10 @@ async function adaptResult(result: SandboxResult, params: Parameter): Promise<Sa
ret.files = result.files || {};
ret.fileIds = result.fileIds || {};
if (ret.fileIds[outname]) ret.fileIds.stdout = ret.fileIds[outname];
if (params.filename && !ret.fileIds[outname] && !ret.files[outname]) {
result.error = 'Output file not found';
ret.status = STATUS.STATUS_RUNTIME_ERROR;
}
ret.stdout = ret.files[outname] || '';
ret.stderr = ret.files.stderr || result.error || '';
if (result.error) ret.error = result.error;