aboutsummaryrefslogtreecommitdiff
path: root/cros_utils/misc_test.py
blob: 21a545e9e5829291e15122a732e8f432afd0fa6a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Copyright 2019 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.

"""Tests for misc."""

from __future__ import print_function

__author__ = 'asharif@google.com (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()