blob: 4ff89f8ef82792f0092d317967634a4f574dd57b [file] [log] [blame]
Ahmad Sharif0dcbc4b2012-02-02 16:37:18 -08001#!/usr/bin/python
2
Yunlian Jiang04dc5dc2013-04-23 15:05:05 -07003# 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.
Ahmad Sharif0dcbc4b2012-02-02 16:37:18 -08006
7import StringIO
8import unittest
Ahmad Sharif4467f002012-12-20 12:09:49 -08009
Ahmad Sharif0dcbc4b2012-02-02 16:37:18 -080010from utils.file_utils import FileUtils
11
Ahmad Sharif4467f002012-12-20 12:09:49 -080012from experiment_factory import ExperimentFactory
13from experiment_file import ExperimentFile
14import test_flag
Ahmad Sharif0dcbc4b2012-02-02 16:37:18 -080015
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))
Luis Lozanof81680c2013-03-15 14:44:13 -070037 experiment = ExperimentFactory().GetExperiment(experiment_file,
38 working_directory="",
39 log_dir="")
Ahmad Sharif0dcbc4b2012-02-02 16:37:18 -080040 self.assertEqual(experiment.remote, ["chromeos-alex3"])
41
42 self.assertEqual(len(experiment.benchmarks), 1)
43 self.assertEqual(experiment.benchmarks[0].name, "PageCycler")
Yunlian Jiang04dc5dc2013-04-23 15:05:05 -070044 self.assertEqual(experiment.benchmarks[0].test_name, "PageCycler")
Ahmad Sharif0dcbc4b2012-02-02 16:37:18 -080045 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)
Ahmad Sharif4467f002012-12-20 12:09:49 -080056 test_flag.SetTestMode(True)
Ahmad Sharif0dcbc4b2012-02-02 16:37:18 -080057 unittest.main()