From e36a2375e33bdd84d462144a28ffed7b5b398854 Mon Sep 17 00:00:00 2001 From: Arnaud Watlet <arnaud.watlet@umons.ac.be> Date: Wed, 29 Nov 2023 22:51:58 +0100 Subject: [PATCH] Adds placeholder for tests automation after install --- test/tests.py | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 test/tests.py diff --git a/test/tests.py b/test/tests.py new file mode 100644 index 00000000..bfffe705 --- /dev/null +++ b/test/tests.py @@ -0,0 +1,83 @@ +import importlib +import time +import unittest +import logging +import mqtt +import traceback +from ohmpi.config import HARDWARE_CONFIG +from ohmpi.ohmpi import OhmPi +from ohmpi.hardware_system import OhmPiHardware +from ohmpi.logging_setup import setup_loggers + + +class OhmPiTests(unittest.TestCase): + """ + OhmPiTests class . + """ + def __init__(self): + # set loggers + self.exec_logger, _, self.data_logger, _, self.soh_logger, _, _, msg = setup_loggers(mqtt=mqtt) + print(msg) + + # specify loggers when instancing the hardware + self._hw = OhmPiHardware(**{'exec_logger': self.exec_logger, 'data_logger': self.data_logger, + 'soh_logger': self.soh_logger}) + self.exec_logger.info('Hardware configured...') + self.exec_logger.info('OhmPi tests ready to start...') + + def test_i2c_devices_on_bus(self): + self.test_i2c_mux_boards() + self.test_i2c_measurement_baord() + + def test_i2c_mux_boards(self): + try: + pass + except: + traceback.print_exc() + self.fail() + + def test_i2c_measurement_board(self): + try: + pass + except: + traceback.print_exc() + self.fail() + + def test_pwr_connection(self): + if self._hw.tx.pwr.voltage_adjustable: + try: + pass + except: + traceback.print_exc() + self.fail() + else: + self.exec_logger.info('Pwr cannot be tested with this system configuration.') + + def test_vmn_hardware_offset(self): + pass + + def test_r_shunt(self): + if self._hw.tx.pwr.voltage_adjustable: + pass + else: + self.exec_logger.info('r_shunt cannot be tested with this system configuration.') + + def test_mqtt_broker(self): + pass + + def test_mux(self): + self._hw.test_mux() + + +def main(self): + import sys + + suite = unittest.defaultTestLoader.loadTestsFromTestCase(OhmPiTests) + runner = unittest.TextTestRunner(verbosity=4) + result = runner.run(suite) + if not result.wasSuccessful(): + sys.exit(1) + + +if __name__ == '__main__': + main() \ No newline at end of file -- GitLab