from pathlib import Path
|
|
ROOT = Path(__file__).resolve().parents[1]
|
|
|
def read_text(path: str) -> str:
|
return (ROOT / path).read_text(encoding="utf-8")
|
|
|
def require(condition: bool, message: str) -> None:
|
if not condition:
|
raise SystemExit(message)
|
|
|
def main() -> None:
|
mqtt = read_text("main/boards/sening-xiaozhi-s3/mqtt.c")
|
require(
|
'sscanf(value, "%2d:%2d%c", hour, minute, &tail)' in mqtt,
|
"MQTT SET_ALARM time must accept HH:MM and default seconds to 00",
|
)
|
require(
|
'strcmp(command->valuestring, "delete") == 0' in mqtt,
|
"MQTT SET_ALARM payload.action=delete must delete alarm by id",
|
)
|
require(
|
'BoardMqtt_PublishJson(s_rpt_ack_topic, root, BOARD_MQTT_QOS);' in mqtt,
|
"MQTT ACK must use the board default QoS",
|
)
|
require(
|
'BoardMqtt_PublishProgress(req_id, 0, "media playlist accepted");' in mqtt,
|
"MQTT PLAY_MEDIA must publish progress when playlist is accepted",
|
)
|
|
|
if __name__ == "__main__":
|
main()
|