blob: 4ff89f8ef82792f0092d317967634a4f574dd57b [file] [log] [blame]
#!/usr/bin/python
# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import StringIO
import unittest
from utils.file_utils import FileUtils
from experiment_factory import ExperimentFactory
from experiment_file import ExperimentFile
import test_flag
EXPERIMENT_FILE_1 = """
board: x86-alex
remote: chromeos-alex3
benchmark: PageCycler {
iterations: 3
}
image1 {
chromeos_image: /usr/local/google/cros_image1.bin
}
image2 {
chromeos_image: /usr/local/google/cros_image2.bin
}
"""
class ExperimentFactoryTest(unittest.TestCase):
def testLoadExperimentFile1(self):
experiment_file = ExperimentFile(StringIO.StringIO(EXPERIMENT_FILE_1))
experiment = ExperimentFactory().GetExperiment(experiment_file,
working_directory="",
log_dir="")
self.assertEqual(experiment.remote, ["chromeos-alex3"])
self.assertEqual(len(experiment.benchmarks), 1)
self.assertEqual(experiment.benchmarks[0].name, "PageCycler")
self.assertEqual(experiment.benchmarks[0].test_name, "PageCycler")
self.assertEqual(experiment.benchmarks[0].iterations, 3)
self.assertEqual(len(experiment.labels), 2)
self.assertEqual(experiment.labels[0].chromeos_image,
"/usr/local/google/cros_image1.bin")
self.assertEqual(experiment.labels[0].board,
"x86-alex")
if __name__ == "__main__":
FileUtils.Configure(True)
test_flag.SetTestMode(True)
unittest.main()