예제 #1
0
def test_run_benchmark_cycle_length_of_warmup_and_measure_cycles():
    measurable = mock.Mock()
    reader_mock = mock.Mock()
    _time_warmup_and_work(reader_mock, 2, 3, measurable.next_item)
    assert 5 == measurable.next_item.call_count

    measurable = mock.Mock()
    _time_warmup_and_work(reader_mock, 6, 7, measurable.next_item)
    assert 13 == measurable.next_item.call_count
예제 #2
0
def test_time_measure():
    T = 1.2
    measurable = mock.Mock()
    reader = mock.Mock()
    reader.diagnostics.side_effect = {'some_diags': 1}
    wait_times = [0.0, T, T]

    def mock_next_item():
        a = 1
        for _ in six.moves.xrange(10000):
            a += 1
        sleep(wait_times.pop(0))
        return 0

    measurable.next_item.side_effect = mock_next_item
    result = _time_warmup_and_work(reader, 1, 2, measurable.next_item)
    assert result.time_mean >= T / 2.0
    assert result.samples_per_second < 1.0 / T
    assert result.memory_info