xref: /openbmc/u-boot/tools/binman/elf_test.py (revision b50e5611)
1*b50e5611SSimon Glass#
2*b50e5611SSimon Glass# Copyright (c) 2017 Google, Inc
3*b50e5611SSimon Glass# Written by Simon Glass <sjg@chromium.org>
4*b50e5611SSimon Glass#
5*b50e5611SSimon Glass# SPDX-License-Identifier:      GPL-2.0+
6*b50e5611SSimon Glass#
7*b50e5611SSimon Glass# Test for the elf module
8*b50e5611SSimon Glass
9*b50e5611SSimon Glassimport os
10*b50e5611SSimon Glassimport sys
11*b50e5611SSimon Glassimport unittest
12*b50e5611SSimon Glass
13*b50e5611SSimon Glassimport elf
14*b50e5611SSimon Glass
15*b50e5611SSimon Glassbinman_dir = os.path.dirname(os.path.realpath(sys.argv[0]))
16*b50e5611SSimon Glassfname = os.path.join(binman_dir, 'test', 'u_boot_ucode_ptr')
17*b50e5611SSimon Glass
18*b50e5611SSimon Glassclass TestElf(unittest.TestCase):
19*b50e5611SSimon Glass    def testAllSymbols(self):
20*b50e5611SSimon Glass        syms = elf.GetSymbols(fname, [])
21*b50e5611SSimon Glass        self.assertIn('.ucode', syms)
22*b50e5611SSimon Glass
23*b50e5611SSimon Glass    def testRegexSymbols(self):
24*b50e5611SSimon Glass        syms = elf.GetSymbols(fname, ['ucode'])
25*b50e5611SSimon Glass        self.assertIn('.ucode', syms)
26*b50e5611SSimon Glass        syms = elf.GetSymbols(fname, ['missing'])
27*b50e5611SSimon Glass        self.assertNotIn('.ucode', syms)
28*b50e5611SSimon Glass        syms = elf.GetSymbols(fname, ['missing', 'ucode'])
29*b50e5611SSimon Glass        self.assertIn('.ucode', syms)
30*b50e5611SSimon Glass
31*b50e5611SSimon Glassif __name__ == '__main__':
32*b50e5611SSimon Glass    unittest.main()
33