pj: update thermal layout + layout test (#26224)

This commit is contained in:
Adeeb Shihadeh
2022-10-25 11:33:02 -07:00
committed by GitHub
parent 27e315e58f
commit bc7fc481d5
2 changed files with 68 additions and 47 deletions

View File

@@ -1,5 +1,6 @@
#!/usr/bin/env python3
import os
import glob
import signal
import subprocess
import time
@@ -9,12 +10,14 @@ from common.basedir import BASEDIR
from common.timeout import Timeout
from tools.plotjuggler.juggle import install
PJ_DIR = os.path.join(BASEDIR, "tools/plotjuggler")
class TestPlotJuggler(unittest.TestCase):
def test_demo(self):
install()
pj = os.path.join(BASEDIR, "tools/plotjuggler/juggle.py")
pj = os.path.join(PJ_DIR, "juggle.py")
p = subprocess.Popen(f'QT_QPA_PLATFORM=offscreen {pj} --demo None 1 --qlog',
stderr=subprocess.PIPE, shell=True, start_new_session=True)
@@ -29,5 +32,22 @@ class TestPlotJuggler(unittest.TestCase):
self.assertEqual(p.poll(), None)
os.killpg(os.getpgid(p.pid), signal.SIGTERM)
# TODO: also test that layouts successfully load
def test_layouts(self):
bad_strings = (
# if a previously loaded file is defined,
# PJ will throw a warning when loading the layout
"fileInfo",
"previouslyLoaded_Datafiles",
)
for fn in glob.glob(os.path.join(PJ_DIR, "layouts/*")):
name = os.path.basename(fn)
with self.subTest(layout=name):
with open(fn) as f:
layout = f.read()
violations = [s for s in bad_strings if s in layout]
assert len(violations) == 0, f"These should be stripped out of the layout: {str(violations)}"
if __name__ == "__main__":
unittest.main()