holy fuking shit

This commit is contained in:
Horldsence
2026-09-12 01:56:34 +08:00
parent 36f354736c
commit d975309a81
83 changed files with 2748 additions and 896 deletions
+9 -9
View File
@@ -45,7 +45,7 @@ class FaultRecoveryTests(unittest.TestCase):
outcome = client.measure((0, 0), 1)
self.assertEqual(outcome.virtual_time_s, 5.0)
# measure 只被服务器执行了一次:请求发出两次,但虚拟时刻只推进一次。
measure_bodies = [body for body in faults.sent_requests[1:]]
measure_bodies = list(faults.sent_requests[1:])
self.assertEqual(len(measure_bodies), 2, "应发出原始请求+一次重试")
first, retry = (json.loads(b) for b in measure_bodies)
self.assertEqual(first["request_id"], retry["request_id"],
@@ -56,22 +56,22 @@ class FaultRecoveryTests(unittest.TestCase):
def test_drop_before_apply_is_safe_to_retry(self):
"""连接失败(未送达)后重试成功,无残留效果。"""
client, faults, simulator = self._client(["drop_before", None])
client, _, simulator = self._client(["drop_before", None])
client.enter()
client.measure((100, 0), 1)
self.assertEqual(simulator.virtual_time_s, 25.0) # 100/5 移动 + 5 检测
self.assertEqual(client.state.virtual_time_s, 25.0)
def test_server_500_retried_with_same_id(self):
client, faults, simulator = self._client([None, ("status", 500), None, None])
client, _, _ = self._client([None, ("status", 500), None, None])
client.enter()
client.measure((0, 0), 1)
self.assertEqual(client.state.virtual_time_s, 5.0)
def test_exhausted_retries_raise_and_leave_state_clean(self):
# enter 放行后,measure 连续注入断连直至超过 max_attempts=3。
client, faults, simulator = self._client([None, "drop_before", "drop_before",
"drop_before"])
client, _, simulator = self._client([None, "drop_before", "drop_before",
"drop_before"])
client.enter()
with self.assertRaises(TransportError):
client.measure((0, 0), 1)
@@ -83,7 +83,7 @@ class FaultRecoveryTests(unittest.TestCase):
self.assertEqual(outcome.virtual_time_s, 5.0)
def test_accepted_false_raises_and_state_untouched(self):
client, faults, simulator = self._client([None])
client, _, _ = self._client([None])
with self.assertRaises(ProtocolError) as ctx:
client.measure((0, 0), 1) # 未 enter -> accepted=false
self.assertEqual(ctx.exception.status, 200)
@@ -103,7 +103,7 @@ class DeadlineBudgetTests(unittest.TestCase):
now[0] += 300.0
self.assertAlmostEqual(client.real_remaining_s, 900.0)
def test_action_blocked_when_reserve_margin_cannot_be_kept(self):
def test_action_blocked_when_reserve_margin_low(self):
now = [0.0]
simulator = LocalSimulator([], robot_id="T001")
client = SimulatorClient("T001", transport=LocalSimTransport(simulator),
@@ -172,8 +172,8 @@ class PracticeReplayTests(unittest.TestCase):
events = [dict(path=e["path"], request=e["request"], response=e["response"])
for e in self._events()]
stats = summarize(events)
directions = [e for e in events
if e["response"].get("measure_result") == "direction"]
_directions = [e for e in events
if e["response"].get("measure_result") == "direction"]
self.assertGreater(stats["measures"], 0)
self.assertEqual(stats["clears"], 0, "该次演练只采集观测,未调用 /clear")