"""Delay displayed advice without changing the scanner's measured-max policy.""" from pathlib import Path import os import subprocess import tempfile import unittest import test_radio_profile_scan as scan from test_radio_receive_contract import method ROOT = Path(__file__).resolve().parents[1] class RuntimeRecommendationTest(unittest.TestCase): def compile_run(self, source): with tempfile.TemporaryDirectory() as folder: cpp, binary = Path(folder) / "test.cpp", Path(folder) / "test" (Path(folder) / "Arduino.h").write_text("#pragma once\n#include \n#include \n") cpp.write_text(source, encoding="ascii") built = subprocess.run([os.environ.get("CXX", "g++"), "-std=c++17", "-Wall", "-Wextra", "-fsanitize=address,undefined", "-no-pie", "-fno-omit-frame-pointer", "-I", folder, "-I", str(ROOT / "src"), str(cpp), "-o", str(binary)], capture_output=True, text=True) self.assertEqual(built.returncode, 0, built.stderr) ran = subprocess.run([str(binary)], capture_output=True, text=True) self.assertEqual(ran.returncode, 0, ran.stderr) def test_clock_boundaries_resets_and_unchanged_maximum_budget(self): self.compile_run(r''' #include #include #include #include using P=mesh::RadioProfiles; P pair() { P p;p.primary={909.5f,500,0,7,5};p.secondary.params=p.primary; p.secondary.params.freq=910.5f;p.secondary.mode=mesh::RadioProfileMode::Rx; return p; } void train(P& p,uint32_t now,uint32_t a=100,uint32_t b=100) { for(unsigned n=0;n