Blame view

tools/binman/image_test.py 1.66 KB
d41ce506b   Eric Lee   Initial Release, ...
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
  #
  # Copyright (c) 2017 Google, Inc
  # Written by Simon Glass <sjg@chromium.org>
  #
  # SPDX-License-Identifier:      GPL-2.0+
  #
  # Test for the image module
  
  import unittest
  
  from image import Image
  from elf_test import capture_sys_output
  
  class TestImage(unittest.TestCase):
      def testInvalidFormat(self):
          image = Image('name', 'node', test=True)
          with self.assertRaises(ValueError) as e:
              image.LookupSymbol('_binman_something_prop_', False, 'msg')
          self.assertIn(
              "msg: Symbol '_binman_something_prop_' has invalid format",
              str(e.exception))
  
      def testMissingSymbol(self):
          image = Image('name', 'node', test=True)
          image._entries = {}
          with self.assertRaises(ValueError) as e:
              image.LookupSymbol('_binman_type_prop_pname', False, 'msg')
          self.assertIn("msg: Entry 'type' not found in list ()",
                        str(e.exception))
  
      def testMissingSymbolOptional(self):
          image = Image('name', 'node', test=True)
          image._entries = {}
          with capture_sys_output() as (stdout, stderr):
              val = image.LookupSymbol('_binman_type_prop_pname', True, 'msg')
          self.assertEqual(val, None)
          self.assertEqual("Warning: msg: Entry 'type' not found in list ()
  ",
                           stderr.getvalue())
          self.assertEqual('', stdout.getvalue())
  
      def testBadProperty(self):
          image = Image('name', 'node', test=True)
          image._entries = {'u-boot': 1}
          with self.assertRaises(ValueError) as e:
              image.LookupSymbol('_binman_u_boot_prop_bad', False, 'msg')
          self.assertIn("msg: No such property 'bad", str(e.exception))