def testParsePeakResults(self): speccpu.FLAGS.spec_runmode = 'peak' vm = mock.Mock(vm=linux_virtual_machine.DebianMixin) spec_test_config = speccpu.SpecInstallConfigurations() spec_test_config.benchmark_name = 'speccpu2017' spec_test_config.log_format = r'Est. (SPEC.*2017_.*_base)\s*(\S*)' vm.speccpu_vm_state = spec_test_config samples = speccpu._ExtractScore(TEST_OUTPUT_PEAK, vm, False, None) self.assertSampleListsEqualUpToTimestamp(samples, EXPECTED_PEAK_RESULT_SPECINT)
def testParseAllResults(self): speccpu.FLAGS.spec_runmode = 'all' vm = mock.Mock(vm=linux_virtual_machine.Ubuntu1804Mixin) spec_test_config = speccpu.SpecInstallConfigurations() spec_test_config.benchmark_name = 'speccpu2017' spec_test_config.log_format = r'Est. (SPEC.*2017_.*_base)\s*(\S*)' spec_test_config.runspec_config = r'linux64-x64-gcc47.cfg' vm.speccpu_vm_state = spec_test_config samples = speccpu._ExtractScore(TEST_OUTPUT_ALL, vm, False, None) self.assertSampleListsEqualUpToTimestamp(samples, EXPECTED_ALL_RESULT_SPECINT)
def testParseSpeedResults(self): speccpu.FLAGS.spec_runmode = 'base' vm = mock.Mock(vm=linux_virtual_machine.DebianMixin) spec_test_config = speccpu.SpecInstallConfigurations() spec_test_config.benchmark_name = 'speccpu2006' spec_test_config.log_format = r'Est. (SPEC.*_base2006)\s*(\S*)' vm.speccpu_vm_state = spec_test_config samples = speccpu._ExtractScore(SPEED_OUTPUT_SPECINT, vm, False, 'speed') self.assertSampleListsEqualUpToTimestamp( samples, EXPECTED_SPEED_RESULT_SPECINT)
def testParsePartialPeakResults(self): speccpu.FLAGS.spec_runmode = 'peak' vm = mock.Mock(vm=linux_virtual_machine.DebianMixin) spec_test_config = speccpu.SpecInstallConfigurations() spec_test_config.benchmark_name = 'speccpu2017' spec_test_config.log_format = r'Est. (SPEC.*2017_.*_base)\s*(\S*)' vm.speccpu_vm_state = spec_test_config samples = speccpu._ExtractScore(TEST_OUTPUT_PARTIAL_PEAK, vm, True, None) self.assertSampleListsEqualUpToTimestamp( samples, EXPECTED_PARTIAL_PEAK_RESULT_SPECINT)
def testParseSpeedResults(self): speccpu.FLAGS.spec_runmode = 'base' vm = mock.Mock(vm=linux_virtual_machine.DebianMixin) spec_test_config = speccpu.SpecInstallConfigurations() spec_test_config.benchmark_name = 'speccpu2006' spec_test_config.log_format = r'Est. (SPEC.*_base2006)\s*(\S*)' vm.speccpu_vm_state = spec_test_config samples = speccpu._ExtractScore(SPEED_OUTPUT_SPECINT, vm, False, 'speed') self.assertSampleListsEqualUpToTimestamp( samples, EXPECTED_SPEED_RESULT_SPECINT)
def testParseAllResults(self): speccpu.FLAGS.spec_runmode = 'all' vm = mock.Mock(vm=linux_virtual_machine.DebianMixin) spec_test_config = speccpu.SpecInstallConfigurations() spec_test_config.benchmark_name = 'speccpu2017' spec_test_config.log_format = r'Est. (SPEC.*2017_.*_base)\s*(\S*)' spec_test_config.runspec_config = r'linux64-x64-gcc47.cfg' vm.speccpu_vm_state = spec_test_config samples = speccpu._ExtractScore(TEST_OUTPUT_ALL, vm, False, None) self.assertSampleListsEqualUpToTimestamp( samples, EXPECTED_ALL_RESULT_SPECINT)
def testParseResultsC(self): vm = mock.Mock(vm=linux_virtual_machine.Ubuntu1604Mixin) spec_test_config = speccpu.SpecInstallConfigurations() spec_test_config.benchmark_name = 'speccpu2006' spec_test_config.log_format = r'Est. (SPEC.*_base2006)\s*(\S*)' spec_test_config.runspec_config = r'linux64-x64-gcc47.cfg' speccpu.FLAGS.spec_runmode = 'base' vm.speccpu_vm_state = spec_test_config samples = speccpu._ExtractScore(TEST_OUTPUT_SPECINT, vm, False, 'rate') self.assertSampleListsEqualUpToTimestamp(samples, EXPECTED_RESULT_SPECINT) samples = speccpu._ExtractScore(TEST_OUTPUT_SPECFP, vm, False, 'rate') self.assertSampleListsEqualUpToTimestamp(samples, EXPECTED_RESULT_SPECFP) # By default, incomplete results result in error. with self.assertRaises(errors.Benchmarks.RunError): samples = speccpu._ExtractScore(TEST_OUTPUT_BAD1, vm, False, 'rate') with self.assertRaises(errors.Benchmarks.RunError): samples = speccpu._ExtractScore(TEST_OUTPUT_BAD2, vm, False, 'rate') # Now use keep_partial_results samples = speccpu._ExtractScore(TEST_OUTPUT_BAD1, vm, True, 'rate') self.assertSampleListsEqualUpToTimestamp(samples, EXPECTED_RESULT_BAD1) samples = speccpu._ExtractScore(TEST_OUTPUT_BAD2, vm, True, 'rate') self.assertSampleListsEqualUpToTimestamp(samples, EXPECTED_RESULT_BAD2) # Estimate scores speccpu.FLAGS.runspec_estimate_spec = True samples = speccpu._ExtractScore(TEST_OUTPUT_EST, vm, True, 'rate') self.assertSampleListsEqualUpToTimestamp(samples, EXPECTED_RESULT_EST)
def testParseResultsC(self): vm = mock.Mock(vm=linux_virtual_machine.DebianMixin) spec_test_config = speccpu.SpecInstallConfigurations() spec_test_config.benchmark_name = 'speccpu2006' spec_test_config.log_format = r'Est. (SPEC.*_base2006)\s*(\S*)' spec_test_config.runspec_config = r'linux64-x64-gcc47.cfg' speccpu.FLAGS.spec_runmode = 'base' vm.speccpu_vm_state = spec_test_config samples = speccpu._ExtractScore(TEST_OUTPUT_SPECINT, vm, False, 'rate') self.assertSampleListsEqualUpToTimestamp(samples, EXPECTED_RESULT_SPECINT) samples = speccpu._ExtractScore(TEST_OUTPUT_SPECFP, vm, False, 'rate') self.assertSampleListsEqualUpToTimestamp(samples, EXPECTED_RESULT_SPECFP) # By default, incomplete results result in error. with self.assertRaises(errors.Benchmarks.RunError): samples = speccpu._ExtractScore(TEST_OUTPUT_BAD1, vm, False, 'rate') with self.assertRaises(errors.Benchmarks.RunError): samples = speccpu._ExtractScore(TEST_OUTPUT_BAD2, vm, False, 'rate') # Now use keep_partial_results samples = speccpu._ExtractScore(TEST_OUTPUT_BAD1, vm, True, 'rate') self.assertSampleListsEqualUpToTimestamp(samples, EXPECTED_RESULT_BAD1) samples = speccpu._ExtractScore(TEST_OUTPUT_BAD2, vm, True, 'rate') self.assertSampleListsEqualUpToTimestamp(samples, EXPECTED_RESULT_BAD2) # Estimate scores speccpu.FLAGS.runspec_estimate_spec = True samples = speccpu._ExtractScore(TEST_OUTPUT_EST, vm, True, 'rate') self.assertSampleListsEqualUpToTimestamp(samples, EXPECTED_RESULT_EST)