experiment_factory_unittest.py revision 04dc5dc8547dbfbe524cf35ac39537346ad749bb
1#!/usr/bin/python 2 3# Copyright (c) 2013 The Chromium OS Authors. All rights reserved. 4# Use of this source code is governed by a BSD-style license that can be 5# found in the LICENSE file. 6 7import StringIO 8import unittest 9 10from utils.file_utils import FileUtils 11 12from experiment_factory import ExperimentFactory 13from experiment_file import ExperimentFile 14import test_flag 15 16EXPERIMENT_FILE_1 = """ 17 board: x86-alex 18 remote: chromeos-alex3 19 20 benchmark: PageCycler { 21 iterations: 3 22 } 23 24 image1 { 25 chromeos_image: /usr/local/google/cros_image1.bin 26 } 27 28 image2 { 29 chromeos_image: /usr/local/google/cros_image2.bin 30 } 31 """ 32 33 34class ExperimentFactoryTest(unittest.TestCase): 35 def testLoadExperimentFile1(self): 36 experiment_file = ExperimentFile(StringIO.StringIO(EXPERIMENT_FILE_1)) 37 experiment = ExperimentFactory().GetExperiment(experiment_file, 38 working_directory="", 39 log_dir="") 40 self.assertEqual(experiment.remote, ["chromeos-alex3"]) 41 42 self.assertEqual(len(experiment.benchmarks), 1) 43 self.assertEqual(experiment.benchmarks[0].name, "PageCycler") 44 self.assertEqual(experiment.benchmarks[0].test_name, "PageCycler") 45 self.assertEqual(experiment.benchmarks[0].iterations, 3) 46 47 self.assertEqual(len(experiment.labels), 2) 48 self.assertEqual(experiment.labels[0].chromeos_image, 49 "/usr/local/google/cros_image1.bin") 50 self.assertEqual(experiment.labels[0].board, 51 "x86-alex") 52 53 54if __name__ == "__main__": 55 FileUtils.Configure(True) 56 test_flag.SetTestMode(True) 57 unittest.main() 58