Skip to content
Snippets Groups Projects
Commit aa6e445b authored by Corné Lukken's avatar Corné Lukken
Browse files

L2SS-938: Implement device server code coverage commands

parent 661f1094
Branches
No related tags found
1 merge request!475Draft: L2SS-938: Device server code coverage testing
...@@ -199,6 +199,7 @@ class lofar_device(Device, metaclass=DeviceMeta): ...@@ -199,6 +199,7 @@ class lofar_device(Device, metaclass=DeviceMeta):
elif not mask[idx]: elif not mask[idx]:
merge_values[idx] = current_values[idx] merge_values[idx] = current_values[idx]
@command()
def store_coverage(self): def store_coverage(self):
try: try:
self.cov.stop() self.cov.stop()
...@@ -206,6 +207,8 @@ class lofar_device(Device, metaclass=DeviceMeta): ...@@ -206,6 +207,8 @@ class lofar_device(Device, metaclass=DeviceMeta):
logger.info("Stopped code coverage measurements") logger.info("Stopped code coverage measurements")
except Exception: except Exception:
pass pass
@command()
def start_coverage(self): def start_coverage(self):
try: try:
import os import os
...@@ -213,24 +216,25 @@ class lofar_device(Device, metaclass=DeviceMeta): ...@@ -213,24 +216,25 @@ class lofar_device(Device, metaclass=DeviceMeta):
import coverage import coverage
self.cov = coverage.Coverage( self.cov = coverage.Coverage(
config_file=os.getcwd() + "/tangostationcontrol/.coveragerc",
data_file=os.getcwd() + "/tangostationcontrol/.coverage", data_file=os.getcwd() + "/tangostationcontrol/.coverage",
data_suffix=True, data_suffix=True
branch=True, # branch=True,
source=os.getcwd() + "/tangostationcontrol/tangostationcontrol" # source=os.getcwd() + "/tangostationcontrol/tangostationcontrol"
) )
self.cov.start() self.cov.start()
logger.info("Started code coverage measurements: %s", os.getcwd()) logger.info("Started code coverage measurements: %s", os.getcwd())
atexit.register(self.store_coverage) atexit.register(self.store_coverage)
except Exception as e: except Exception as e:
logger.warning("Could not configure for code coverage: %s", e) logger.exception("Could not configure for code coverage: %s", e)
@log_exceptions() @log_exceptions()
def init_device(self): def init_device(self):
""" Instantiates the device in the OFF state. """ """ Instantiates the device in the OFF state. """
if constants.DEBUG: # if constants.DEBUG:
self.start_coverage() # self.start_coverage()
# NOTE: Will delete_device first, if necessary # NOTE: Will delete_device first, if necessary
Device.init_device(self) Device.init_device(self)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment