Shijin Abraham | a8c7477 | 2020-01-24 09:39:25 -0800 | [diff] [blame] | 1 | # Copyright 2020 The Chromium OS Authors. All rights reserved. |
| 2 | # Use of this source code is governed by a BSD-style license that can be |
| 3 | # found in the LICENSE file. |
| 4 | |
| 5 | """Module for build_utils unittests.""" |
| 6 | |
| 7 | import unittest |
| 8 | |
| 9 | import build_utils |
| 10 | |
| 11 | |
| 12 | class BuildUtilsTestCase(unittest.TestCase): |
| 13 | |
| 14 | def testParseNormalModelName(self): |
Xinan Lin | 6653d38 | 2020-03-03 10:41:13 -0800 | [diff] [blame] | 15 | full_model = 'board_model' |
| 16 | board = 'board' |
| 17 | model = 'model' |
Shijin Abraham | a8c7477 | 2020-01-24 09:39:25 -0800 | [diff] [blame] | 18 | self.assertEqual(build_utils.parse_full_model(full_model), (board, model)) |
| 19 | |
Xinan Lin | 6653d38 | 2020-03-03 10:41:13 -0800 | [diff] [blame] | 20 | def testParseModelNameWithFamilyModel(self): |
| 21 | full_model = 'family_board_family_model' |
| 22 | board = 'family_board' |
| 23 | model = 'family_model' |
Shijin Abraham | a8c7477 | 2020-01-24 09:39:25 -0800 | [diff] [blame] | 24 | self.assertEqual(build_utils.parse_full_model(full_model), (board, model)) |
| 25 | |
| 26 | def testParseInvalidFullModelRaisesException(self): |
| 27 | invalid_full_models = ['atlas', |
Xinan Lin | 6653d38 | 2020-03-03 10:41:13 -0800 | [diff] [blame] | 28 | 'family_board_model', |
Shijin Abraham | a8c7477 | 2020-01-24 09:39:25 -0800 | [diff] [blame] | 29 | 'too_long_name_a_name'] |
| 30 | for invalid_model in invalid_full_models: |
| 31 | self.assertRaises(ValueError, build_utils.parse_full_model, invalid_model) |
| 32 | |
| 33 | if __name__ == '__main__': |
| 34 | unittest.main() |