forked from luopingyi/xc_agent_platform_demo
select-opt dry-run: foothold verified_reuse first, build-config default w/ fallback, GPU enum map (45/45)
This commit is contained in:
@@ -47,3 +47,40 @@ class TestPendingPool(unittest.TestCase):
|
||||
self.assertEqual(len(rows), 1)
|
||||
self.assertEqual(rows[0]['try_next_gpus'], ['天垓150'])
|
||||
self.assertEqual(rows[0]['perf_order'], 'unset')
|
||||
|
||||
def test_foothold_evidence_and_stable_verified_priority(self):
|
||||
with tempfile.TemporaryDirectory() as directory:
|
||||
root = Path(directory)
|
||||
md = root / 'pending.md'
|
||||
md.write_text('## Section B\n| 1 | `org/b` | 0 | 壁砺 |\n## Section A\n| 1 | `org/unknown` | 曦望 | 壁砺 | 已验证成功 |\n| 2 | `org/flight` | 验证失败; 正在验证 | 壁砺 | — |\n| 3 | `org/verified` | 他人:已验证成功; 正在验证 | 壁砺 | — |\n| 4 | `org/fail` | 验证失败 | 曦望 | — |\n| 5 | `org/pass` | 既有:验证通过 | 曦望 | — |\n| 6 | `org/queue` | 验证排队中 | 壁砺 | — |\n| 7 | `org/progress` | 验证进行中 | 壁砺 | — |\n')
|
||||
rows = build_ordered_candidates(md, dnr_path=root/'none', banned_path=root/'none')
|
||||
self.assertEqual([r['model_address'] for r in rows],
|
||||
['org/verified', 'org/pass', 'org/unknown', 'org/flight',
|
||||
'org/fail', 'org/queue', 'org/progress', 'org/b'])
|
||||
self.assertEqual([r['foothold_class'] for r in rows],
|
||||
['verified_reuse', 'verified_reuse', 'unknown', 'in_flight',
|
||||
'failed_foothold', 'in_flight', 'in_flight', 'unknown'])
|
||||
for row in rows:
|
||||
self.assertEqual(row['evidence_source'], 'GAP' if row['foothold_class'] == 'unknown' else 'pending-foothold')
|
||||
self.assertEqual(rows[0]['foothold_text'], '他人:已验证成功; 正在验证')
|
||||
txt = root / 'pending.txt'
|
||||
txt.write_text('org/a\t#A done:曦望; try:壁砺\norg/v\t#A 验证通过; try:壁砺\n')
|
||||
parsed = parse_pending_txt(txt)
|
||||
self.assertEqual(parsed[0]['foothold_class'], 'unknown')
|
||||
self.assertEqual(parsed[0]['evidence_source'], 'GAP')
|
||||
self.assertEqual(parsed[1]['foothold_class'], 'verified_reuse')
|
||||
|
||||
def test_no_download_marker_without_inventing(self):
|
||||
with tempfile.TemporaryDirectory() as directory:
|
||||
root = Path(directory)
|
||||
md = root / 'pending.md'
|
||||
md.write_text('## Section A\n| 1 | `org/plain` | 曦望:验证排队中 | 壁砺 | — |\n| 2 | `org/cached` | 壁砺:已下载; 曦望:免下载 | 天垓150 | — |\n| 3 | `org/verified` | 壁砺:已验证成功 | 天垓150 | — |\n')
|
||||
rows = build_ordered_candidates(md, dnr_path=root/'none', banned_path=root/'none')
|
||||
by = {r['model_address']: r for r in rows}
|
||||
self.assertFalse(by['org/plain']['no_download'])
|
||||
self.assertEqual(by['org/plain']['evidence_source'], 'pending-foothold')
|
||||
self.assertTrue(by['org/cached']['no_download'])
|
||||
self.assertEqual(by['org/cached']['evidence_source'], 'pending-foothold')
|
||||
self.assertFalse(by['org/verified']['no_download']) # verified alone does not invent no_download
|
||||
self.assertEqual([r['model_address'] for r in rows],
|
||||
['org/cached', 'org/verified', 'org/plain'])
|
||||
|
||||
Reference in New Issue
Block a user