Exemplo n.º 1
0
def test_measure_tracker(measure_workbench):
    """Test the measure tracker.

    """
    tracker = MeasureTracker()
    meas1 = measure(measure_workbench)
    meas2 = measure(measure_workbench)

    ev1 = Event()
    ev2 = Event()
    ev3 = Event()

    w1 = create_false_widget(meas1, ev1)
    w2 = create_false_widget(meas2, ev2)
    w3 = create_false_widget(None, ev3)

    tracker.start(meas1)

    assert tracker.get_selected_measure() is meas1

    tracker.enqueue(w2)
    sleep(0.01)
    ev2.set()
    assert tracker.get_selected_measure() is meas2
    ev2.clear()

    tracker._selected = meas1

    # Test discarding the buffer when new widgets are enqueued while processing
    tracker.enqueue(w3)
    tracker.enqueue(w1)
    while tracker._buffer_empty.is_set():
        sleep(0.01)
    assert not tracker._queue_not_empty.is_set()
    tracker.enqueue(w2)
    ev3.set()
    ev2.set()
    assert tracker.get_selected_measure() is meas2

    ev2.clear()
    ev3.clear()

    # Test getting the selected when the buffer is empty but not the queue.
    tracker.enqueue(w1)
    sleep(0.01)
    assert not tracker._queue_not_empty.is_set()
    tracker.enqueue(w3)
    ev1.set()
    ev3.set()
    assert tracker.get_selected_measure() is meas1

    # Test stopping while processing.
    ev3.clear()
    tracker.enqueue(w3)
    sleep(0.01)
    tracker._should_stop.set()
    ev3.set()
    tracker.stop()
Exemplo n.º 2
0
def test_measure_tracker(measure_workbench):
    """Test the measure tracker.

    """
    tracker = MeasureTracker()
    meas1 = measure(measure_workbench)
    meas2 = measure(measure_workbench)

    ev1 = Event()
    ev2 = Event()
    ev3 = Event()

    w1 = create_false_widget(meas1, ev1)
    w2 = create_false_widget(meas2, ev2)
    w3 = create_false_widget(None, ev3)

    tracker.start(meas1)

    assert tracker.get_selected_measure() is meas1

    tracker.enqueue(w2)
    sleep(0.01)
    ev2.set()
    assert tracker.get_selected_measure() is meas2
    ev2.clear()

    tracker._selected = meas1

    # Test discarding the buffer when new widgets are enqueued while processing
    tracker.enqueue(w3)
    tracker.enqueue(w1)
    while tracker._buffer_empty.is_set():
        sleep(0.01)
    assert not tracker._queue_not_empty.is_set()
    tracker.enqueue(w2)
    ev3.set()
    ev2.set()
    assert tracker.get_selected_measure() is meas2

    ev2.clear()
    ev3.clear()

    # Test getting the selected when the buffer is empty but not the queue.
    tracker.enqueue(w1)
    sleep(0.01)
    assert not tracker._queue_not_empty.is_set()
    tracker.enqueue(w3)
    ev1.set()
    ev3.set()
    assert tracker.get_selected_measure() is meas1

    # Test stopping while processing.
    ev3.clear()
    tracker.enqueue(w3)
    sleep(0.01)
    tracker._should_stop.set()
    ev3.set()
    tracker.stop()
Exemplo n.º 3
0
def test_find_next_measure(measure_workbench):
    """Test finding the next valid measure in the queue.

    """
    from ecpy.testing.measure.fixtures import measure
    m1 = measure(measure_workbench)
    m2 = measure(measure_workbench)
    m3 = measure(measure_workbench)
    plugin = measure_workbench.get_plugin('ecpy.measure')
    plugin.enqueued_measures.add(m1)
    plugin.enqueued_measures.add(m2)
    plugin.enqueued_measures.add(m3)

    m1.status = 'COMPLETED'
    assert plugin.find_next_measure() is m2
Exemplo n.º 4
0
def test_find_next_measure(measure_workbench):
    """Test finding the next valid measure in the queue.

    """
    from ecpy.testing.measure.fixtures import measure
    m1 = measure(measure_workbench)
    m2 = measure(measure_workbench)
    m3 = measure(measure_workbench)
    plugin = measure_workbench.get_plugin('ecpy.measure')
    plugin.enqueued_measures.add(m1)
    plugin.enqueued_measures.add(m2)
    plugin.enqueued_measures.add(m3)

    m1.status = 'COMPLETED'
    assert plugin.find_next_measure() is m2