36 lines
952 B
Python
36 lines
952 B
Python
"""
|
|
run.py — Точка входа симулятора.
|
|
|
|
Запуск: python3 sim/run.py [сценарий]
|
|
без аргументов — все сценарии A–F
|
|
A — хэппи-путь
|
|
B — зигзаг
|
|
...
|
|
"""
|
|
|
|
import sys, os
|
|
sys.path.insert(0, os.path.dirname(__file__))
|
|
from scenarios import run_all, Session, OUT
|
|
import scenarios
|
|
|
|
SCENARIOS = {
|
|
'A': scenarios.scenario_A_happy,
|
|
'B': scenarios.scenario_B_zigzag,
|
|
'C': scenarios.scenario_C_bulk,
|
|
'D': scenarios.scenario_D_stupid,
|
|
'E': scenarios.scenario_E_zips,
|
|
'F': scenarios.scenario_F_stress,
|
|
}
|
|
|
|
if __name__ == "__main__":
|
|
if len(sys.argv) > 1:
|
|
name = sys.argv[1].upper()
|
|
if name in SCENARIOS:
|
|
s = Session()
|
|
SCENARIOS[name](s)
|
|
s.cleanup()
|
|
else:
|
|
print(f"Неизвестный сценарий: {name}. Доступны: {', '.join(SCENARIOS)}")
|
|
else:
|
|
run_all()
|