# Copyright 2015 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. """Unittests for config.""" from __future__ import print_function from chromite.cbuildbot import cbuildbot_config from chromite.cbuildbot import generate_chromeos_config from chromite.lib import cros_test_lib class LoadChromeOsConfigTest(cros_test_lib.TestCase): """Tests that load the production Chrome OS config.""" def testGeneralLoad(self): """This test compares generate_chromeos_config to config_dump.json.""" # If there is a test failure, the diff will be big. self.maxDiff = None src = generate_chromeos_config.GetConfig() new = cbuildbot_config.GetConfig() self.assertDictEqual(src.GetDefault(), new.GetDefault()) # # BUG ALERT ON TEST FAILURE # # assertDictEqual can correctly compare these structs for equivalence, but # has a bug when displaying differences on failure. The embedded # HWTestConfig values are correctly compared, but ALWAYS display as # different, if something else triggers a failure. # # This for loop is to make differences easier to find/read. for name in src.iterkeys(): self.assertDictEqual(new[name], src[name]) # This confirms they are exactly the same. self.assertDictEqual(new, src)