forked from M-Labs/artiq
Add smoke test for frontend commands
This ensures that at least --help works for all the commands,
preventing regressions like that in f3323a35d5
.
This commit is contained in:
parent
425cd7851e
commit
24b1b9a480
35
artiq/test/test_frontends.py
Normal file
35
artiq/test/test_frontends.py
Normal file
@ -0,0 +1,35 @@
|
||||
"""Generic tests for frontend commands."""
|
||||
import subprocess
|
||||
import sys
|
||||
import unittest
|
||||
|
||||
|
||||
class TestFrontends(unittest.TestCase):
|
||||
def test_help(self):
|
||||
"""Test --help as a simple smoke test against catastrophic breakage."""
|
||||
commands = {
|
||||
"aqctl": [
|
||||
"corelog", "korad_ka3005p", "lda", "novatech409b",
|
||||
"thorlabs_tcube"
|
||||
],
|
||||
"artiq": [
|
||||
"client", "compile", "coreanalyzer", "coremgmt", "ctlmgr",
|
||||
"devtool", "flash", "influxdb", "master", "mkfs", "route",
|
||||
"rpctool", "rtiomon", "run", "session"
|
||||
]
|
||||
}
|
||||
|
||||
# Skip tests for GUI programs on headless CI environments.
|
||||
try:
|
||||
from PyQt5 import QtGui, QtWidgets
|
||||
commands["artiq"] += ["browser", "dashboard"]
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
for module in (prefix + "_" + name
|
||||
for prefix, names in commands.items()
|
||||
for name in names):
|
||||
subprocess.check_call(
|
||||
[sys.executable, "-m", "artiq.frontend." + module, "--help"],
|
||||
stdout=subprocess.DEVNULL,
|
||||
stderr=subprocess.STDOUT)
|
Loading…
Reference in New Issue
Block a user