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