blob: 4dbfec481879bea1cc23254de5f2e5fea81cc292 [file] [log] [blame]
NAME = 'monotonic_time'
AUTHOR = 'Michael Davidson <md@google.com>'
TIME = 'MEDIUM'
TEST_CLASS = 'Kernel'
TEST_CATEGORY = 'Functional'
TEST_TYPE = 'client'
DOC = """
monotonic_time checks various time interfaces:
gettimeofday()
clock_gettime(CLOCK_MONTONIC)
TSC
for monotonicity.
Based on time-warp-test.c by Ingo Molnar.
"""
#
# Test gettimeofday(), TSC, and clock_gettime(CLOCK_MONOTONIC)
#
# Tests run for 'duration' seconds and check that the selected
# time interface does not go backwards by more than 'threshold'.
#
# Note that the threshold value has the same resolution as the
# clock source:
# gettimeofday() - microseconds
# clock_gettime(CLOCK_MONOTONIC) - nanoseconds
# TSC - CPU clock cycles
#
#
job.run_test('monotonic_time', tag='gtod', test_type='gtod',
duration=300, threshold=0)
job.run_test('monotonic_time', tag='clock', test_type='clock',
duration=300, threshold=0)
job.run_test('monotonic_time', tag='tsc', test_type='tsc',
duration=300, threshold=0)