第一次提交
This commit is contained in:
41
frontend/scripts/regression-hardware-dashboard.mjs
Normal file
41
frontend/scripts/regression-hardware-dashboard.mjs
Normal file
@@ -0,0 +1,41 @@
|
||||
import assert from 'node:assert/strict'
|
||||
import { readFile } from 'node:fs/promises'
|
||||
import { fileURLToPath } from 'node:url'
|
||||
import path from 'node:path'
|
||||
|
||||
const scriptDir = path.dirname(fileURLToPath(import.meta.url))
|
||||
const sourceRoot = path.resolve(scriptDir, '../src')
|
||||
|
||||
const [viewSource, typeSource, mockSource] = await Promise.all([
|
||||
readFile(path.join(sourceRoot, 'views/system/HardwareView.vue'), 'utf8'),
|
||||
readFile(path.join(sourceRoot, 'types/index.ts'), 'utf8'),
|
||||
readFile(path.join(sourceRoot, 'mock/data.ts'), 'utf8'),
|
||||
])
|
||||
|
||||
assert.match(viewSource, /title="平台性能"/, '平台性能页缺少明确标题')
|
||||
assert.match(viewSource, /硬件资源概览/, '平台性能页缺少硬件资源概览')
|
||||
assert.match(viewSource, /系统资源趋势/, '平台性能页缺少资源趋势')
|
||||
assert.match(viewSource, /GPU 资源池/, '平台性能页缺少 GPU 资源池')
|
||||
assert.match(viewSource, /gpu-detail-drawer/, 'GPU 卡片缺少详情抽屉')
|
||||
assert.match(viewSource, /GPU 进程/, 'GPU 详情缺少占用进程表')
|
||||
assert.match(viewSource, /visibilitychange/, '轮询没有在页面不可见时暂停')
|
||||
assert.match(viewSource, /requesting \|\| disposed/, '轮询缺少防重入保护')
|
||||
assert.match(viewSource, /slice\(-60\)/, '趋势快照没有限制为最近 60 个采样点')
|
||||
assert.match(viewSource, /@keydown="handleGpuKeydown/, 'GPU 卡片缺少键盘访问能力')
|
||||
assert.match(viewSource, /download_mb_s/, '网络概览没有使用明确的实时速率字段')
|
||||
assert.doesNotMatch(
|
||||
viewSource,
|
||||
/download_mb_s\s*\?\?\s*info\.network\?\.download_mb/,
|
||||
'不能把累计网络流量回退显示为实时速率',
|
||||
)
|
||||
|
||||
assert.match(typeSource, /export interface GpuProcess/, '系统监控类型缺少 GPU 进程结构')
|
||||
assert.match(typeSource, /processes\?: GpuProcess\[\]/, 'GPU 类型缺少进程详情')
|
||||
assert.match(typeSource, /download_mb_s\?: number/, '系统类型缺少实时网络接收速率')
|
||||
assert.match(typeSource, /power_limit_w\?: number/, 'GPU 类型缺少功耗上限')
|
||||
|
||||
for (let id = 0; id < 8; id += 1) {
|
||||
assert.match(mockSource, new RegExp(`id:\\s*${id},[\\s\\S]*?uuid:\\s*'GPU-MOCK-A800-0${id}'`), `Mock 缺少 GPU ${id} 详情`)
|
||||
}
|
||||
|
||||
console.log('平台性能页回归检查通过')
|
||||
Reference in New Issue
Block a user