#!/usr/bin/env python3 """This is a "test" that just runs a few system utilities that have dependencies on this library in "do nothing" mode and makes sure they exit cleanly. """ import logging import unittest from typing import Optional import bootstrap import exec_utils import unittest_utils logger = logging.getLogger(__name__) class RunSomeDependenciesTest(unittest.TestCase): def test_make_sure_random_utilities_still_seem_to_work(self): commands = [ "/home/scott/cron/manage_lights.py -n --run_profiler >& /dev/null", "/home/scott/bin/reminder.py --logging_level=DEBUG >& /dev/null", "/home/scott/bin/wordle.py --mode=AUTOPLAY --template=trial >& /dev/null", "/home/scott/bin/tplink.py -a office_lights -c info --audit_import_events >& /dev/null", "/home/scott/bin/unscramble.py ethyropadratoyzrhoiectmi --trace_memory >& /dev/null", "/home/scott/bin/cron.py --command='sleep 0' --lockfile=/tmp/deleteme_lock >& /dev/null", "/home/scott/cron/manage_switch_off_timers.py >& /dev/null", ] for command in commands: try: ret = exec_utils.cmd_with_timeout(command, 10.0) self.assertEqual(0, ret) except Exception as e: logger.exception(e) self.fail(f"{command} exited with an unexpected exception: {e}") if __name__ == '__main__': bootstrap.initialize(unittest.main)()