修正
This commit is contained in:
+14
-3
@@ -2,6 +2,7 @@ import { spawn } from 'node:child_process';
|
||||
import { pbkdf2Sync, randomBytes } from 'node:crypto';
|
||||
import { readFile, rm } from 'node:fs/promises';
|
||||
import { resolve } from 'node:path';
|
||||
import { createServer as createNetServer } from 'node:net';
|
||||
import assert from 'node:assert/strict';
|
||||
import ExcelJS from 'exceljs';
|
||||
import { createDatabase, relationalTables } from '../database.mjs';
|
||||
@@ -13,7 +14,14 @@ import { buildCenterMaterialsWorkbook, buildWorkbook } from '../excel.mjs';
|
||||
|
||||
const root = resolve(process.cwd());
|
||||
assert.equal(totpAtStep('GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ', 1), '287082', 'TOTP 实现应符合 RFC 6238 SHA-1 测试向量的 6 位结果');
|
||||
const port = 4182;
|
||||
const port = await new Promise((resolvePort, rejectPort) => {
|
||||
const probe = createNetServer();
|
||||
probe.once('error', rejectPort);
|
||||
probe.listen(0, '127.0.0.1', () => {
|
||||
const selectedPort = probe.address().port;
|
||||
probe.close(error => error ? rejectPort(error) : resolvePort(selectedPort));
|
||||
});
|
||||
});
|
||||
const baseUrl = `http://127.0.0.1:${port}`;
|
||||
const testDb = resolve(root, 'data', 'test-db.sqlite');
|
||||
const mysqlRuleSchemas = mysqlSchema.filter(statement => /CREATE TABLE IF NOT EXISTS (?:admission_number_rules|number_rules)\b/.test(statement));
|
||||
@@ -961,8 +969,11 @@ try {
|
||||
console.log('✓ 成绩录入、发布与考生查询');
|
||||
console.log('✓ 成绩复议、班级审批、范围匹配与多人均分');
|
||||
} finally {
|
||||
server.kill('SIGTERM');
|
||||
await new Promise(resolveWait => server.once('exit', resolveWait));
|
||||
if (server.exitCode == null && server.signalCode == null) {
|
||||
const serverExit = new Promise(resolveWait => server.once('exit', resolveWait));
|
||||
server.kill('SIGTERM');
|
||||
await serverExit;
|
||||
}
|
||||
await rm(testDb, { force: true });
|
||||
await rm(`${testDb}-shm`, { force: true });
|
||||
await rm(`${testDb}-wal`, { force: true });
|
||||
|
||||
Reference in New Issue
Block a user