test fix sla rui n itoid

This commit is contained in:
Rayhan Hanaputra
2025-10-25 23:26:35 +07:00
parent c475c63518
commit de319f6e16
2 changed files with 17 additions and 11 deletions
+8 -3
View File
@@ -88,8 +88,9 @@ class Carbeat(Challenge):
return False return False
def register(self, proc, name, level, timeout=1.): def register(self, proc, name, level, timeout=1., skip_initial_prompt=False):
self._read_until(proc, "> ", timeout=timeout) if not skip_initial_prompt:
self._read_until(proc, "> ", timeout=timeout)
self._send_line(proc, "1") self._send_line(proc, "1")
self._read_until(proc, ": ", timeout=timeout) self._read_until(proc, ": ", timeout=timeout)
self._send_line(proc, name) self._send_line(proc, name)
@@ -135,7 +136,11 @@ class Carbeat(Challenge):
proc = self._spawn() proc = self._spawn()
self.logger.info("[1] process spawned ✅") self.logger.info("[1] process spawned ✅")
self.register(proc, "karbit", 1337) # Wait for initial menu to appear with longer timeout
self._read_until(proc, "> ", timeout=10.0)
self.logger.info("[1.5] initial menu appeared ✅")
self.register(proc, "karbit", 1337, skip_initial_prompt=True)
self.logger.info("[2] user registered ✅") self.logger.info("[2] user registered ✅")
name = self.list_user(proc) name = self.list_user(proc)
+9 -8
View File
@@ -174,14 +174,15 @@ class Sheesh(Challenge):
raise AssertionError("Program did not exit after option 4") raise AssertionError("Program did not exit after option 4")
self.logger.info("[ok] service exit on 4") self.logger.info("[ok] service exit on 4")
proc_alarm = self._spawn() # Skip alarm test during SLA checks (takes 180+ seconds)
self._read_until(proc_alarm, "zzz", timeout=190.0) # 180s + slack # proc_alarm = self._spawn()
try: # self._read_until(proc_alarm, "zzz", timeout=190.0) # 180s + slack
proc_alarm.wait(timeout=5.0) # try:
except subprocess.TimeoutExpired: # proc_alarm.wait(timeout=5.0)
proc_alarm.kill() # except subprocess.TimeoutExpired:
raise AssertionError("Alarm fired but process did not exit") # proc_alarm.kill()
self.logger.info("[ok] alarm fired ('zzz') and process self-terminated") # raise AssertionError("Alarm fired but process did not exit")
# self.logger.info("[ok] alarm fired ('zzz') and process self-terminated")
self.logger.info('Check passed for sheesh') self.logger.info('Check passed for sheesh')
return True return True