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
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