utils: update testcase parser

This commit is contained in:
undefined committed 2024-01-18 13:57:49 +08:00
1 parent 911676b050
commit f25fb402cd
8 files changed
+23 -31

No files matched your search

+5 -1
View File
@@ -240,10 +240,12 @@ interface MatchRule {
const SubtaskMatcher: MatchRule[] = [
{
regex: /^(([A-Za-z0-9._-]*?)(?:(\d*)[-_])?(\d+))\.(in|txt)$/,
regex: /^(([A-Za-z0-9._-]*?)(?:(\d*)[-_])?(\d+))\.(in|txt|in\.txt)$/,
output: [
(a) => `${a[1]}.out`,
(a) => `${a[1]}.out.txt`,
(a) => `${a[1]}.ans`,
(a) => `${a[1]}.ans.txt`,
(a) => `${a[1]}.out`.replace(/input/g, 'output'),
(a) => (a[1].includes('input') ? `${a[1]}.txt`.replace(/input/g, 'output') : null),
],
@@ -256,6 +258,8 @@ const SubtaskMatcher: MatchRule[] = [
output: [
(a) => `${a[1]}.ou${a[2]}`,
(a) => `${a[1]}.ou${a[2]}`.replace(/input/g, 'output'),
(a) => `${a[1]}.out${a[2]}`,
(a) => `${a[1]}.out${a[2]}`.replace(/input/g, 'output'),
],
id: (a) => +a[2],
subtask: () => 1,
+3 -13
View File
@@ -52,21 +52,11 @@ require.extensions['.js'] = function loader(module, filename) {
const content = fs.readFileSync(filename, 'utf-8');
return module._compile(content, filename);
} catch (e) { // ESM
try {
return module._compile(transform(filename), filename);
} catch (err) {
err.stack = new Error().stack;
throw err;
}
return module._compile(transform(filename), filename);
}
};
require.extensions['.ts'] = require.extensions['.tsx'] = function loader(module, filename) {
try {
return module._compile(transform(filename), filename);
} catch (e) {
e.stack = new Error().stack;
throw e;
}
return module._compile(transform(filename), filename);
};
require.extensions['.jsc'] = function loader(module, filename) {
const buf = fs.readFileSync(filename);
@@ -101,4 +91,4 @@ if (argv.options.debug) {
console.log('Debug mode enabled');
process.env.NODE_ENV = 'development';
process.env.DEV = 'on';
} else process.env.NODE_ENV = process.env.NODE_ENV || 'production';
} else process.env.NODE_ENV ||= 'production';