Skip to content

Commit

Permalink
coverage return, load module with eval at runtime
Browse files Browse the repository at this point in the history
  • Loading branch information
nharringtonwasatch committed Dec 8, 2015
1 parent baa772a commit 6d390d6
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 21 deletions.
26 changes: 16 additions & 10 deletions bluegraph/control.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
from bluegraph import views
from bluegraph import utils

# __all__ in __init__ refines this list:
from bluegraph.devices import *
## __all__ in __init__ refines this list:
#from bluegraph.devices import *

log = logging.getLogger(__name__)

Expand All @@ -21,19 +21,25 @@ def __init__(self, device_class="Simulation",
device_type="RegulatedSpectra",
device_args=None):

title = device_type.upper()
print "Class: %s, type: %s" % (device_class, device_type)

title = device_type.upper()

class_name = eval(device_class)
from devices import class_name
try:
cmd_name = "bluegraph.devices.%s" % device_class
from_list = "bluegraph.devices"
command_module = __import__(cmd_name, fromlist=from_list)
except ImportError as exc:
print "Exception importing %s" % exc

eval_device = eval(device_type)
self.device = eval("command_module.%s()" % device_type)
#device_str = "%s.%s" % (device_class, device_type)
#eval_device = eval(device_str)

if device_args != None:
self.device = eval_device(device_args)
else:
self.device = eval_device()
#if device_args != None:
#self.device = eval_device(device_args)
#else:
#self.device = eval_device()

self.device.connect()

Expand Down
4 changes: 0 additions & 4 deletions bluegraph/devices/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +0,0 @@
""" Only list devices that should be available for all test cases.
Do not include actual hardware devices.
"""
__all__ = ["Simulation", "DeviceWrappers"]
29 changes: 22 additions & 7 deletions tests/test_controller.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,13 @@ def test_data_and_render_regulated_to_same_speed_dev(self, qtbot):
assert simulator.render_fps.rate() == simulator.data_fps.rate()

def test_nonblocking_regulated_render_fps_is_faster(self, qtbot):
device = "DeviceWrappers.NonBlockingInterface"
args = "RegulatedSpectra"
simulator = control.BlueGraphController(device, device_args=args)
dev_class = "DeviceWrappers"
dev_type = "NonBlockingInterface"
dev_args = "RegulatedSpectra"
cb = control.BlueGraphController
simulator = cb(device_class=dev_class,
device_type=dev_type,
device_args=dev_args)

signal = simulator.form.customContextMenuRequested
with qtbot.wait_signal(signal, timeout=2000):
Expand All @@ -86,9 +90,14 @@ def test_nonblocking_regulated_render_fps_is_faster(self, qtbot):
simulator.form.closeEvent(None)

def test_nonblocking_unregulated_render_fps_is_faster(self, qtbot):
device = "DeviceWrappers.NonBlockingInterface"
args = "SimulatedSpectra"
simulator = control.BlueGraphController(device, device_args=args)
dev_class = "DeviceWrappers"
dev_type = "NonBlockingInterface"
dev_args = "SimulatedSpectra"
cb = control.BlueGraphController
simulator = cb(device_class=dev_class,
device_type=dev_type,
device_args=dev_args)


signal = simulator.form.customContextMenuRequested
with qtbot.wait_signal(signal, timeout=2000):
Expand All @@ -106,7 +115,13 @@ def test_control_creates_simulation_device(self, qtbot):
assert isinstance(simulator.device, Simulation.SimulatedDevice)

def test_default_device_strip_chart_mode(self, qtbot):
simulator = control.BlueGraphController("Simulation.StripChartDevice")
dev_class = "Simulation"
dev_type = "StripChartDevice"
dev_args = None
cb = control.BlueGraphController
simulator = cb(device_class=dev_class,
device_type=dev_type,
device_args=dev_args)

signal = simulator.form.customContextMenuRequested
with qtbot.wait_signal(signal, timeout=2000):
Expand Down

0 comments on commit 6d390d6

Please sign in to comment.