Exemplo n.º 1
0
def test_faketime_dying_thread():
    '''Test that dying threads are handled properly'''

    wpilib.DriverStation._reset()

    ft = FakeTime()
    ft.initialize()

    dt = DyingThread(ft)
    dt.start()

    for _ in range(4):
        ft.increment_new_packet()

    assert dt._died == True
Exemplo n.º 2
0
def test_faketime_2():
    '''Test calling the step function '''
    
    ft = FakeTime()
    ft._setup()
    ft.set_time_limit(5)
    
    sc = StepChecker()
    ft._ds_cond._on_step = sc.on_step
    
    ft.increment_new_packet()
    ft.increment_new_packet()
    ft.increment_new_packet()
    
    assert_float(ft.get(), 0.06)
    assert_float(sc.expected, 0.06 + 0.02)
Exemplo n.º 3
0
def test_faketime_2():
    '''Test calling the step function '''

    ft = FakeTime()
    ft._setup()
    ft.set_time_limit(5)

    sc = StepChecker()
    ft._ds_cond._on_step = sc.on_step

    ft.increment_new_packet()
    ft.increment_new_packet()
    ft.increment_new_packet()

    assert_float(ft.get(), 0.06)
    assert_float(sc.expected, 0.06 + 0.02)
Exemplo n.º 4
0
def test_faketime_2():
    '''Test calling the step function '''

    wpilib.DriverStation._reset()

    ft = FakeTime()
    ft.initialize()
    ft.set_time_limit(5)

    sc = StepChecker()
    ft.ds_cond._on_step = sc.on_step

    ft.increment_new_packet()
    ft.increment_new_packet()
    ft.increment_new_packet()

    assert_float(ft.get(), 0.06)
    assert_float(sc.expected, 0.06 + 0.02)
Exemplo n.º 5
0
def test_faketime_infinite_loop_thread():
    '''Test that infinite loops are detected'''

    wpilib.DriverStation._reset()

    ft = FakeTime()
    ft._freeze_detect_threshold = 5
    ft.initialize()

    it = InfiniteLoopThread(ft)
    it.start()

    with pytest.raises(TestFroze):
        ft.increment_new_packet()
        ft.increment_new_packet()

    with it.cond:
        it.cond.notify_all()
Exemplo n.º 6
0
def test_faketime_threading():
    '''Test that threads are being caught and paused correctly.'''

    ft = FakeTime()
    ft._setup()
    incr_thread100hz = IncrementingThread(0.01, ft)
    incr_thread20hz = IncrementingThread(0.05, ft)
    incr_thread100hz.start()
    incr_thread20hz.start()
    
    for _ in range(4):
        ft.increment_new_packet()

    assert incr_thread100hz.counter == 8
    assert incr_thread20hz.counter == 1
    
    ft.teardown()
    incr_thread100hz.cancel()
    incr_thread20hz.cancel()

    assert ft.children_stopped()
Exemplo n.º 7
0
def test_faketime_threading():
    '''Test that threads are being caught and paused correctly.'''

    ft = FakeTime()
    ft._setup()
    incr_thread100hz = IncrementingThread(0.01, ft)
    incr_thread20hz = IncrementingThread(0.05, ft)
    incr_thread100hz.start()
    incr_thread20hz.start()

    for _ in range(4):
        ft.increment_new_packet()

    assert incr_thread100hz.counter == 8
    assert incr_thread20hz.counter == 1

    ft.teardown()
    incr_thread100hz.cancel()
    incr_thread20hz.cancel()

    assert ft.children_stopped()
Exemplo n.º 8
0
def test_faketime_threading():
    """Test that threads are being caught and paused correctly."""

    wpilib.DriverStation._reset()

    ft = FakeTime()
    ft.initialize()
    incr_thread100hz = IncrementingThread(0.01, ft)
    incr_thread20hz = IncrementingThread(0.05, ft)
    incr_thread100hz.start()
    incr_thread20hz.start()

    for _ in range(4):
        ft.increment_new_packet()

    assert incr_thread100hz.counter == 8
    assert incr_thread20hz.counter == 1

    ft.teardown()
    incr_thread100hz.cancel()
    incr_thread20hz.cancel()

    assert ft.children_stopped()