def test_observer_1_exception(self, caplog):
     gvm.set_variable("wait_observer_1", 0.1)
     gvm.set_variable("observer_1_exception", True)
     self.run_state_machine()
     self.assert_no_errors()
     assert_all_false(gvm.get_variable("inner_observer_1_finish"), gvm.get_variable("observer_1_finish"),
                      gvm.get_variable("observer_1_finish"), gvm.get_variable("observer_2_finish"))
     testing_utils.assert_logger_warnings_and_errors(caplog, 0, 1)
 def test_inner_observer_1_error(self, caplog):
     gvm.set_variable("wait_inner_observer_1", 0.1)
     gvm.set_variable("inner_observer_1_abort", True)
     self.run_state_machine()
     assert_gvm("inner_error_handler", False)
     assert_gvm("error_handler")
     assert_gvm("error_handler_2")
     assert_all_false(gvm.get_variable("inner_observer_1_finish"), gvm.get_variable("observer_1_finish"),
                      gvm.get_variable("observer_1_finish"), gvm.get_variable("observer_2_finish"))
     testing_utils.assert_logger_warnings_and_errors(caplog, 0)
 def test_observer_2_finish(self, caplog):
     gvm.set_variable("wait_observer_2", 0.1)
     self.run_state_machine()
     self.assert_no_errors()
     assert_gvm("observer_2_finish")
     assert_gvm("inner_exit_handler")
     assert_gvm("exit_handler")
     assert_gvm("exit_handler_2")
     assert_all_false(gvm.get_variable("inner_observer_2_finish"), gvm.get_variable("inner_observer_1_finish"),
                      gvm.get_variable("observer_1_finish"))
     testing_utils.assert_logger_warnings_and_errors(caplog, 0)
示例#4
0
def test_preemptive_wait2_timeout(caplog):
    with testing_utils.test_multithreading_lock:
        gvm.set_variable('state_2_wait', 0.5)
        gvm.set_variable('state_1_wait', 1.)

        run_state_machine()

        assert 0.5 < gvm.get_variable('state_2_wait_time')
        assert gvm.get_variable('state_1_preempted')
        assert not gvm.get_variable('state_2_preempted')

        testing_utils.assert_logger_warnings_and_errors(caplog)
示例#5
0
def test_preemptive_wait_daemon(caplog):
    with testing_utils.test_multithreading_lock:
        gvm.set_variable('state_1_wait', 0.5)
        gvm.set_variable('state_2_wait', None)

        run_state_machine()

        assert 0.5 < gvm.get_variable('state_1_wait_time')
        # cannot assert this as state 2 may be launched later and will thus have a shorter execution time
        # assert 0.5 < gvm.get_variable('state_2_wait_time')
        assert not gvm.get_variable('state_1_preempted')
        assert gvm.get_variable('state_2_preempted')

        testing_utils.assert_logger_warnings_and_errors(caplog)
 def test_default_run(self, caplog):
     gvm.set_variable("wait_inner_observer_1", 1)
     gvm.set_variable("wait_inner_observer_2", 1)
     gvm.set_variable("wait_observer_1", 1)
     gvm.set_variable("wait_observer_2", 1)
     self.run_state_machine()
     self.assert_no_errors()
     testing_utils.assert_logger_warnings_and_errors(caplog, 0)
示例#7
0
def test_preemptive_wait_timeout(caplog):
    testing_utils.test_multithreading_lock.acquire()

    gvm.set_variable('state_1_wait', 0.5)
    gvm.set_variable('state_2_wait', 1.)

    run_state_machine()

    try:
        assert 0.5 < gvm.get_variable('state_1_wait_time')
        assert not gvm.get_variable('state_1_preempted')
        assert gvm.get_variable('state_2_preempted')

        testing_utils.assert_logger_warnings_and_errors(caplog)
    finally:
        testing_utils.test_multithreading_lock.release()
    def setup(self):
        # This methods runs before each test method and resets the global variables
        gvm.set_variable("wait_inner_observer_1", 10)
        gvm.set_variable("wait_inner_observer_2", 10)
        gvm.set_variable("wait_observer_1", 10)
        gvm.set_variable("wait_observer_2", 10)

        gvm.set_variable("inner_error_handler", False)
        gvm.set_variable("inner_exit_handler", False)
        gvm.set_variable("error_handler", False)
        gvm.set_variable("error_handler_2", False)
        gvm.set_variable("exit_handler", False)
        gvm.set_variable("exit_handler_2", False)

        gvm.set_variable("inner_observer_1_abort", False)
        gvm.set_variable("inner_observer_1_exception", False)
        gvm.set_variable("observer_1_abort", False)
        gvm.set_variable("observer_1_exception", False)

        gvm.set_variable("observer_1_finish", False)
        gvm.set_variable("observer_2_finish", False)
        gvm.set_variable("inner_observer_1_finish", False)
        gvm.set_variable("inner_observer_2_finish", False)