| #!/usr/bin/env python3 |
| # -*- coding: utf-8 -*- |
| # Copyright 2019 The ChromiumOS Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| """Tests for misc.""" |
| |
| |
| __author__ = "[email protected] (Ahmad Sharif)" |
| |
| # System modules |
| import unittest |
| |
| # Local modules |
| from cros_utils import misc |
| |
| |
| class UtilsTest(unittest.TestCase): |
| """Tests for misc.""" |
| |
| def testGetFilenameFromString(self): |
| string = 'a /b=c"d^$?\\' |
| filename = misc.GetFilenameFromString(string) |
| self.assertEqual(filename, "a___bcd") |
| |
| def testPrependMergeEnv(self): |
| var = "USE" |
| use_flags = "hello 123" |
| added_use_flags = "bla bla" |
| env_string = "%s=%r" % (var, use_flags) |
| new_env_string = misc.MergeEnvStringWithDict( |
| env_string, {var: added_use_flags} |
| ) |
| expected_new_env = "%s=%r" % ( |
| var, |
| " ".join([added_use_flags, use_flags]), |
| ) |
| self.assertEqual( |
| new_env_string, " ".join([env_string, expected_new_env]) |
| ) |
| |
| def testGetChromeOSVersionFromLSBVersion(self): |
| versions_dict = {"2630.0.0": "22", "2030.0.0": "19"} |
| f = misc.GetChromeOSVersionFromLSBVersion |
| for k, v in versions_dict.items(): |
| self.assertEqual(f(k), "R%s-%s" % (v, k)) |
| |
| def testPostpendMergeEnv(self): |
| var = "USE" |
| use_flags = "hello 123" |
| added_use_flags = "bla bla" |
| env_string = "%s=%r" % (var, use_flags) |
| new_env_string = misc.MergeEnvStringWithDict( |
| env_string, {var: added_use_flags}, False |
| ) |
| expected_new_env = "%s=%r" % ( |
| var, |
| " ".join([use_flags, added_use_flags]), |
| ) |
| self.assertEqual( |
| new_env_string, " ".join([env_string, expected_new_env]) |
| ) |
| |
| |
| if __name__ == "__main__": |
| unittest.main() |