Exemple #1
0
 def setup(self):
     self.root = RootTask()
     database = self.root.task_database
     database.set_value('root', 'val1', 1)
     database.create_node('root', 'node1')
     database.set_value('root/node1', 'val2', 10.0)
     database.add_access_exception('root', 'val2', 'root/node1')
 def setup(self):
     self.root = RootTask()
     database = self.root.task_database
     database.set_value("root", "val1", 1)
     database.create_node("root", "node1")
     database.set_value("root/node1", "val2", 10.0)
     database.add_access_exception("root", "val2", "root/node1")
Exemple #3
0
    def test_enqueue_measure4(self):
        # Test enqueueing a measure passing the tests using instruments.

        core = self.workbench.get_plugin(u'enaml.workbench.core')
        cmd = u'enaml.workbench.ui.select_workspace'
        core.invoke_command(cmd, {'workspace': u'hqc_meas.measure.workspace'},
                            self)

        plugin = self.workbench.get_plugin(u'hqc_meas.measure')

        false_instr_user = FalseInstrTask(selected_profile='  dummy  ',
                                          selected_driver='PanelTestDummy')
        measure = Measure(plugin=plugin, name='Test')
        measure.root_task = RootTask(default_path=self.test_dir)
        measure.root_task.children_task = [false_instr_user]
        plugin.edited_measure = measure

        res = plugin.workspace.enqueue_measure(plugin.edited_measure)

        assert_true(res)
        assert_false(measure.root_task.run_time)
        assert_true(plugin.enqueued_measures)
        en_meas = plugin.enqueued_measures[0]
        assert_is_not(en_meas, measure)
        assert_equal(en_meas.status, 'READY')
        assert_equal(en_meas.infos,
                     'The measure is ready to be performed by an engine.')
        assert_in('build_deps', en_meas.store)
        assert_equal(['  dummy  '], en_meas.store['profiles'])
        assert_in('drivers', en_meas.root_task.run_time)

        instr_plugin = self.workbench.get_plugin('hqc_meas.instr_manager')
        assert_in('  dummy  ', instr_plugin.available_profiles)
Exemple #4
0
    def test_enqueue_measure1(self):
        # Test enqueueing a measure passing the tests using no instruments.

        core = self.workbench.get_plugin(u'enaml.workbench.core')
        cmd = u'enaml.workbench.ui.select_workspace'
        core.invoke_command(cmd, {'workspace': u'hqc_meas.measure.workspace'},
                            self)

        plugin = self.workbench.get_plugin(u'hqc_meas.measure')

        measure = Measure(plugin=plugin, name='Test')
        measure.root_task = RootTask(default_path=self.test_dir)
        plugin.edited_measure = measure

        res = plugin.workspace.enqueue_measure(plugin.edited_measure)

        assert_true(res)
        assert_false(measure.root_task.run_time)
        assert_true(plugin.enqueued_measures)
        en_meas = plugin.enqueued_measures[0]
        assert_is_not(en_meas, measure)
        assert_equal(en_meas.status, 'READY')
        assert_equal(en_meas.infos,
                     'The measure is ready to be performed by an engine.')
        assert_in('build_deps', en_meas.store)
        assert_not_in('profiles', en_meas.store)
Exemple #5
0
    def test_plugin_find_next_measure3(self):
        """ Test plugin.find_next_measure when no measures can be sent.

        """
        plugin = self.workbench.get_plugin(u'hqc_meas.measure')
        measure1 = Measure(plugin=plugin, name='Test1')
        measure1.root_task = RootTask()
        measure1.status = 'SKIPPED'
        plugin.enqueued_measures.append(measure1)

        measure2 = Measure(plugin=plugin, name='Test2')
        measure2.root_task = RootTask()
        measure2.status = 'EDITING'
        plugin.enqueued_measures.append(measure2)

        meas = plugin.find_next_measure()
        assert_is(None, meas)
Exemple #6
0
    def test_find_view1(self):
        """ Test finding a view for an existing task.

        """
        editor = StandardEditor(workbench=self.workbench)
        editor.selected_task = None
        editor.selected_task = RootTask()

        assert_is_instance(editor._internal.current_view, RootView)
Exemple #7
0
    def test_plugin_find_next_measure1(self):
        """ Test plugin.find_next_measure, first measure is ok.

        """
        plugin = self.workbench.get_plugin(u'hqc_meas.measure')
        measure = Measure(plugin=plugin, name='Test')
        measure.root_task = RootTask()
        plugin.enqueued_measures.append(measure)

        meas = plugin.find_next_measure()
        assert_is(measure, meas)
Exemple #8
0
    def test_plugin_find_next_measure2(self):
        """ Test plugin.find_next_measure when measures should be skipped.

        """
        plugin = self.workbench.get_plugin(u'hqc_meas.measure')
        measure1 = Measure(plugin=plugin, name='Test1')
        measure1.root_task = RootTask()
        measure1.status = 'SKIPPED'
        plugin.enqueued_measures.append(measure1)

        measure2 = Measure(plugin=plugin, name='Test2')
        measure2.root_task = RootTask()
        measure2.status = 'EDITING'
        plugin.enqueued_measures.append(measure2)

        measure3 = Measure(plugin=plugin, name='Test3')
        measure3.root_task = RootTask()
        measure3.status = 'READY'
        plugin.enqueued_measures.append(measure3)

        meas = plugin.find_next_measure()
        assert_is(measure3, meas)
Exemple #9
0
    def _create_measure(self, plugin, instr=False):
        """ Create a measure.

        """
        measure = Measure(plugin=plugin, name='Test1')
        measure.root_task = RootTask(default_path=self.test_dir)
        if instr:
            false_instr_user = FalseInstrTask(selected_profile='  dummy  ',
                                              selected_driver='PanelTestDummy')
            measure.root_task.children_task = [false_instr_user]
        measure.status = 'READY'
        monitor_decl = plugin.monitors[u'monitor1']
        measure.add_monitor(monitor_decl.id,
                            monitor_decl.factory(monitor_decl, self.workbench))
        return measure
    def _create_measure(self, plugin):
        """ Create a measure.

        """
        measure = Measure(plugin=plugin, name='Test1')
        measure.root_task = RootTask(default_path=self.test_dir)
        children = [
            SleepTask(task_name='sleep1', time=1),
            LogTask(task_name='print', message='test'),
            SleepTask(task_name='sleep2', time=0.1)
        ]
        measure.root_task.children_task.extend(children)
        measure.status = 'READY'
        monitor_decl = plugin.monitors[u'monitor1']
        measure.add_monitor(monitor_decl.id,
                            monitor_decl.factory(monitor_decl, self.workbench))
        return measure
    def test_measure_editor_dialog2(self):
        # Test that everything goes well in the absence of build_deps
        core = self.workbench.get_plugin(u'enaml.workbench.core')
        cmd = u'enaml.workbench.ui.select_workspace'
        core.invoke_command(cmd, {'workspace': u'hqc_meas.measure.workspace'},
                            self)
        plugin = self.workbench.get_plugin(u'hqc_meas.measure')

        measure = Measure(plugin=plugin, name='Test')
        measure.root_task = RootTask()

        ed = MeasureEditorDialog(measure=measure, workspace=plugin.workspace)
        ed.show()
        process_app_events()
        ed.close()
        process_app_events()
        assert_not_in('build_deps', measure.store)
        close_all_windows()
    def test_measure_editor_dialog1(self):
        # Test that the build_deps are correctly destroyed when closing.
        core = self.workbench.get_plugin(u'enaml.workbench.core')
        cmd = u'enaml.workbench.ui.select_workspace'
        core.invoke_command(cmd, {'workspace': u'hqc_meas.measure.workspace'},
                            self)
        plugin = self.workbench.get_plugin(u'hqc_meas.measure')

        measure = Measure(plugin=plugin, name='Test')
        measure.root_task = RootTask()
        measure.store['build_deps'] = 25

        ed = MeasureEditorDialog(measure=measure, workspace=plugin.workspace)
        ed.show()
        process_app_events()
        ed.close()
        process_app_events()
        assert_not_in('build_deps', measure.store)
        close_all_windows()
Exemple #13
0
    def test_enqueue_measure2(self):
        # Test enqueueing a measure failing the tests using no instruments.

        core = self.workbench.get_plugin(u'enaml.workbench.core')
        cmd = u'enaml.workbench.ui.select_workspace'
        core.invoke_command(cmd, {'workspace': u'hqc_meas.measure.workspace'},
                            self)

        plugin = self.workbench.get_plugin(u'hqc_meas.measure')

        measure = Measure(plugin=plugin, name='Test')
        measure.root_task = RootTask()
        plugin.edited_measure = measure

        res = plugin.workspace.enqueue_measure(plugin.edited_measure)

        assert_false(res)
        assert_false(measure.root_task.run_time)
        assert_false(plugin.enqueued_measures)

        close_all_windows()
Exemple #14
0
    def test_enqueue_measure3(self):
        # Test enqueueing a measure passing the test but emitting warnings.

        # As there is no event loop running the exec_ is not blocking.
        core = self.workbench.get_plugin(u'enaml.workbench.core')
        cmd = u'enaml.workbench.ui.select_workspace'
        core.invoke_command(cmd, {'workspace': u'hqc_meas.measure.workspace'},
                            self)

        plugin = self.workbench.get_plugin(u'hqc_meas.measure')

        measure = Measure(plugin=plugin, name='Test')
        measure.root_task = RootTask()
        plugin.edited_measure = measure

        res = plugin.workspace.enqueue_measure(plugin.edited_measure)

        assert_false(res)
        assert_false(measure.root_task.run_time)
        assert_false(plugin.enqueued_measures)

        close_all_windows()
Exemple #15
0
class TestEvaluation(object):
    def setup(self):
        self.root = RootTask()
        database = self.root.task_database
        database.set_value('root', 'val1', 1)
        database.create_node('root', 'node1')
        database.set_value('root/node1', 'val2', 10.0)
        database.add_access_exception('root', 'val2', 'root/node1')

    def test_eval_editing_mode1(self):
        test = '{val1}/{val2}'
        formatted = self.root.format_and_eval_string(test)
        assert_equal(formatted, 0.1)
        assert_false(self.root._eval_cache)

    def test_eval_editing_mode2(self):
        test = 'cos({val1}/{val2})'
        formatted = self.root.format_and_eval_string(test)
        assert_equal(formatted, cos(0.1))
        assert_false(self.root._eval_cache)

    def test_eval_editing_mode3(self):
        self.root.task_database.set_value('root', 'val1', 10.0)
        test = 'cm.sqrt({val1}/{val2})'
        formatted = self.root.format_and_eval_string(test)
        assert_equal(formatted, 1 + 0j)
        assert_false(self.root._eval_cache)

    def test_eval_editing_mode4(self):
        self.root.task_database.set_value('root', 'val1', [1.0, -1.0])
        test = 'np.abs({val1})'
        formatted = self.root.format_and_eval_string(test)
        assert_array_equal(formatted, numpy.array((1.0, 1.0)))
        assert_false(self.root._eval_cache)

    def test_eval_running_mode1(self):
        self.root.task_database.prepare_for_running()
        test = '{val1}/{val2}'
        formatted = self.root.format_and_eval_string(test)
        assert_equal(formatted, 0.1)
        assert_true(self.root._eval_cache)
        assert_in(test, self.root._eval_cache)
        self.root.task_database.set_value('root', 'val1', 2)
        formatted = self.root.format_and_eval_string(test)
        assert_equal(formatted, 0.2)

    def test_eval_running_mode2(self):
        self.root.task_database.prepare_for_running()
        test = 'cos({val1}/{val2})'
        formatted = self.root.format_and_eval_string(test)
        assert_equal(formatted, cos(0.1))
        assert_true(self.root._eval_cache)
        assert_in(test, self.root._eval_cache)
        self.root.task_database.set_value('root', 'val1', 2)
        formatted = self.root.format_and_eval_string(test)
        assert_equal(formatted, cos(0.2))

    def test_eval_running_mode3(self):
        self.root.task_database.prepare_for_running()
        self.root.task_database.set_value('root', 'val1', 10.0)
        test = 'cm.sqrt({val1}/{val2})'
        formatted = self.root.format_and_eval_string(test)
        assert_equal(formatted, (1 + 0j))
        assert_true(self.root._eval_cache)
        assert_in(test, self.root._eval_cache)
        self.root.task_database.set_value('root', 'val1', 40.0)
        formatted = self.root.format_and_eval_string(test)
        assert_equal(formatted, (2 + 0j))

    def test_eval_running_mode4(self):
        self.root.task_database.prepare_for_running()
        self.root.task_database.set_value('root', 'val1', [1.0, -1.0])
        test = 'np.abs({val1})'
        formatted = self.root.format_and_eval_string(test)
        assert_array_equal(formatted, numpy.array((1.0, 1.0)))
        assert_true(self.root._eval_cache)
        assert_in(test, self.root._eval_cache)
        self.root.task_database.set_value('root', 'val1', [2.0, -1.0])
        self.root.task_database.set_value('root', 'val2', 0)
        test = 'np.abs({val1})[{val2}]'
        formatted = self.root.format_and_eval_string(test)
        assert_equal(formatted, 2.0)
Exemple #16
0
class TestFormatting(object):
    def setup(self):
        self.root = RootTask()
        database = self.root.task_database
        database.set_value('root', 'val1', 1)
        database.create_node('root', 'node1')
        database.set_value('root/node1', 'val2', 10.0)
        database.add_access_exception('root', 'val2', 'root/node1')

    def test_formatting_editing_mode1(self):
        test = 'progress is {val1}/{val2}, it is good.'
        formatted = self.root.format_string(test)
        assert_equal(formatted, 'progress is 1/10.0, it is good.')
        assert_false(self.root._format_cache)

    def test_formatting_editing_mode2(self):
        test = 'progress is {val1}/{val2}'
        formatted = self.root.format_string(test)
        assert_equal(formatted, 'progress is 1/10.0')
        assert_false(self.root._format_cache)

    def test_formatting_editing_mode3(self):
        test = '{val1}/{val2}, it is good.'
        formatted = self.root.format_string(test)
        assert_equal(formatted, '1/10.0, it is good.')
        assert_false(self.root._format_cache)

    def test_formatting_editing_mode4(self):
        test = '{val1}/{val2}'
        formatted = self.root.format_string(test)
        assert_equal(formatted, '1/10.0')
        assert_false(self.root._format_cache)

    def test_formatting_running_mode1(self):
        self.root.task_database.prepare_for_running()
        test = 'progress is {val1}/{val2}, it is good.'
        formatted = self.root.format_string(test)
        assert_equal(formatted, 'progress is 1/10.0, it is good.')
        assert_true(self.root._format_cache)
        assert_in(test, self.root._format_cache)
        self.root.task_database.set_value('root', 'val1', 2)
        formatted = self.root.format_string(test)
        assert_equal(formatted, 'progress is 2/10.0, it is good.')

    def test_formatting_running_mode2(self):
        self.root.task_database.prepare_for_running()
        test = 'progress is {val1}/{val2}'
        formatted = self.root.format_string(test)
        assert_equal(formatted, 'progress is 1/10.0')
        assert_true(self.root._format_cache)
        assert_in(test, self.root._format_cache)
        self.root.task_database.set_value('root', 'val1', 2)
        formatted = self.root.format_string(test)
        assert_equal(formatted, 'progress is 2/10.0')

    def test_formatting_running_mode3(self):
        self.root.task_database.prepare_for_running()
        test = '{val1}/{val2}, it is good.'
        formatted = self.root.format_string(test)
        assert_equal(formatted, '1/10.0, it is good.')
        assert_true(self.root._format_cache)
        assert_in(test, self.root._format_cache)
        self.root.task_database.set_value('root', 'val1', 2)
        formatted = self.root.format_string(test)
        assert_equal(formatted, '2/10.0, it is good.')

    def test_formatting_running_mode4(self):
        self.root.task_database.prepare_for_running()
        test = '{val1}/{val2}'
        formatted = self.root.format_string(test)
        assert_equal(formatted, '1/10.0')
        assert_true(self.root._format_cache)
        assert_in(test, self.root._format_cache)
        self.root.task_database.set_value('root', 'val1', 2)
        formatted = self.root.format_string(test)
        assert_equal(formatted, '2/10.0')
Exemple #17
0
class TestEvaluation(object):
    def setup(self):
        self.root = RootTask()
        database = self.root.task_database
        database.set_value("root", "val1", 1)
        database.create_node("root", "node1")
        database.set_value("root/node1", "val2", 10.0)
        database.add_access_exception("root", "val2", "root/node1")

    def test_eval_editing_mode1(self):
        test = "{val1}/{val2}"
        formatted = self.root.format_and_eval_string(test)
        assert_equal(formatted, 0.1)
        assert_false(self.root._eval_cache)

    def test_eval_editing_mode2(self):
        test = "cos({val1}/{val2})"
        formatted = self.root.format_and_eval_string(test)
        assert_equal(formatted, cos(0.1))
        assert_false(self.root._eval_cache)

    def test_eval_editing_mode3(self):
        self.root.task_database.set_value("root", "val1", 10.0)
        test = "cm.sqrt({val1}/{val2})"
        formatted = self.root.format_and_eval_string(test)
        assert_equal(formatted, 1 + 0j)
        assert_false(self.root._eval_cache)

    def test_eval_editing_mode4(self):
        self.root.task_database.set_value("root", "val1", [1.0, -1.0])
        test = "np.abs({val1})"
        formatted = self.root.format_and_eval_string(test)
        assert_array_equal(formatted, numpy.array((1.0, 1.0)))
        assert_false(self.root._eval_cache)

    def test_eval_running_mode1(self):
        self.root.task_database.prepare_for_running()
        test = "{val1}/{val2}"
        formatted = self.root.format_and_eval_string(test)
        assert_equal(formatted, 0.1)
        assert_true(self.root._eval_cache)
        assert_in(test, self.root._eval_cache)
        self.root.task_database.set_value("root", "val1", 2)
        formatted = self.root.format_and_eval_string(test)
        assert_equal(formatted, 0.2)

    def test_eval_running_mode2(self):
        self.root.task_database.prepare_for_running()
        test = "cos({val1}/{val2})"
        formatted = self.root.format_and_eval_string(test)
        assert_equal(formatted, cos(0.1))
        assert_true(self.root._eval_cache)
        assert_in(test, self.root._eval_cache)
        self.root.task_database.set_value("root", "val1", 2)
        formatted = self.root.format_and_eval_string(test)
        assert_equal(formatted, cos(0.2))

    def test_eval_running_mode3(self):
        self.root.task_database.prepare_for_running()
        self.root.task_database.set_value("root", "val1", 10.0)
        test = "cm.sqrt({val1}/{val2})"
        formatted = self.root.format_and_eval_string(test)
        assert_equal(formatted, (1 + 0j))
        assert_true(self.root._eval_cache)
        assert_in(test, self.root._eval_cache)
        self.root.task_database.set_value("root", "val1", 40.0)
        formatted = self.root.format_and_eval_string(test)
        assert_equal(formatted, (2 + 0j))

    def test_eval_running_mode4(self):
        self.root.task_database.prepare_for_running()
        self.root.task_database.set_value("root", "val1", [1.0, -1.0])
        test = "np.abs({val1})"
        formatted = self.root.format_and_eval_string(test)
        assert_array_equal(formatted, numpy.array((1.0, 1.0)))
        assert_true(self.root._eval_cache)
        assert_in(test, self.root._eval_cache)
        self.root.task_database.set_value("root", "val1", [2.0, -1.0])
        self.root.task_database.set_value("root", "val2", 0)
        test = "np.abs({val1})[{val2}]"
        formatted = self.root.format_and_eval_string(test)
        assert_equal(formatted, 2.0)
Exemple #18
0
class TestFormatting(object):
    def setup(self):
        self.root = RootTask()
        database = self.root.task_database
        database.set_value("root", "val1", 1)
        database.create_node("root", "node1")
        database.set_value("root/node1", "val2", 10.0)
        database.add_access_exception("root", "val2", "root/node1")

    def test_formatting_editing_mode1(self):
        test = "progress is {val1}/{val2}, it is good."
        formatted = self.root.format_string(test)
        assert_equal(formatted, "progress is 1/10.0, it is good.")
        assert_false(self.root._format_cache)

    def test_formatting_editing_mode2(self):
        test = "progress is {val1}/{val2}"
        formatted = self.root.format_string(test)
        assert_equal(formatted, "progress is 1/10.0")
        assert_false(self.root._format_cache)

    def test_formatting_editing_mode3(self):
        test = "{val1}/{val2}, it is good."
        formatted = self.root.format_string(test)
        assert_equal(formatted, "1/10.0, it is good.")
        assert_false(self.root._format_cache)

    def test_formatting_editing_mode4(self):
        test = "{val1}/{val2}"
        formatted = self.root.format_string(test)
        assert_equal(formatted, "1/10.0")
        assert_false(self.root._format_cache)

    def test_formatting_running_mode1(self):
        self.root.task_database.prepare_for_running()
        test = "progress is {val1}/{val2}, it is good."
        formatted = self.root.format_string(test)
        assert_equal(formatted, "progress is 1/10.0, it is good.")
        assert_true(self.root._format_cache)
        assert_in(test, self.root._format_cache)
        self.root.task_database.set_value("root", "val1", 2)
        formatted = self.root.format_string(test)
        assert_equal(formatted, "progress is 2/10.0, it is good.")

    def test_formatting_running_mode2(self):
        self.root.task_database.prepare_for_running()
        test = "progress is {val1}/{val2}"
        formatted = self.root.format_string(test)
        assert_equal(formatted, "progress is 1/10.0")
        assert_true(self.root._format_cache)
        assert_in(test, self.root._format_cache)
        self.root.task_database.set_value("root", "val1", 2)
        formatted = self.root.format_string(test)
        assert_equal(formatted, "progress is 2/10.0")

    def test_formatting_running_mode3(self):
        self.root.task_database.prepare_for_running()
        test = "{val1}/{val2}, it is good."
        formatted = self.root.format_string(test)
        assert_equal(formatted, "1/10.0, it is good.")
        assert_true(self.root._format_cache)
        assert_in(test, self.root._format_cache)
        self.root.task_database.set_value("root", "val1", 2)
        formatted = self.root.format_string(test)
        assert_equal(formatted, "2/10.0, it is good.")

    def test_formatting_running_mode4(self):
        self.root.task_database.prepare_for_running()
        test = "{val1}/{val2}"
        formatted = self.root.format_string(test)
        assert_equal(formatted, "1/10.0")
        assert_true(self.root._format_cache)
        assert_in(test, self.root._format_cache)
        self.root.task_database.set_value("root", "val1", 2)
        formatted = self.root.format_string(test)
        assert_equal(formatted, "2/10.0")