fix(agent): ограничить длину значений в подсказке о неполной публикации (M-4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
6b3109863d
commit
af3e9c47c4
@ -1014,7 +1014,7 @@ class Updater:
|
||||
return False
|
||||
version, sha = release.get("version"), release.get("sha256")
|
||||
if type(version) is not int or not isinstance(sha, str) or not self.SHA_RE.fullmatch(sha):
|
||||
self._hint("format", "хаб прислал неполную публикацию: version=%r, sha256=%r" % (version, sha)) # design 10
|
||||
self._hint("format", "хаб прислал неполную публикацию: version=%.80r, sha256=%.80r" % (version, sha)) # design 10
|
||||
return False
|
||||
if version <= AGENT_VERSION:
|
||||
return False
|
||||
|
||||
@ -97,6 +97,14 @@ class UpdaterCheckTest(unittest.TestCase):
|
||||
self.assertEqual(self.hub.release_requests, 0)
|
||||
self.assertIsNone(self.u.state())
|
||||
|
||||
def test_incomplete_release_hint_is_bounded(self):
|
||||
"""M-4: подсказка не печатает произвольно длинный мусор от хаба целиком."""
|
||||
logs = self.capture_logs()
|
||||
self.assertFalse(self.u.check({"version": NEXT, "sha256": "x" * 10000}))
|
||||
hints = [l for l in logs if l.startswith("хаб прислал неполную публикацию")]
|
||||
self.assertEqual(len(hints), 1)
|
||||
self.assertLess(len(hints[0]), 300)
|
||||
|
||||
def test_hints_have_separate_timers(self):
|
||||
logs = self.capture_logs()
|
||||
self.u.launcher_version = None
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user