1# SPDX-License-Identifier: GPL-2.0 2# Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved. 3 4import os.path 5import pytest 6 7@pytest.mark.buildconfigspec('ut_dm') 8def test_ut_dm_init(u_boot_console): 9 """Initialize data for ut dm tests.""" 10 11 fn = u_boot_console.config.source_dir + '/testflash.bin' 12 if not os.path.exists(fn): 13 data = b'this is a test' 14 data += b'\x00' * ((4 * 1024 * 1024) - len(data)) 15 with open(fn, 'wb') as fh: 16 fh.write(data) 17 18 fn = u_boot_console.config.source_dir + '/spi.bin' 19 if not os.path.exists(fn): 20 data = b'\x00' * (2 * 1024 * 1024) 21 with open(fn, 'wb') as fh: 22 fh.write(data) 23 24def test_ut(u_boot_console, ut_subtest): 25 """Execute a "ut" subtest. 26 27 The subtests are collected in function generate_ut_subtest() from linker 28 generated lists by applying a regular expression to the lines of file 29 u-boot.sym. The list entries are created using the C macro UNIT_TEST(). 30 31 Strict naming conventions have to be followed to match the regular 32 expression. Use UNIT_TEST(foo_test_bar, _flags, foo_test) for a test bar in 33 test suite foo that can be executed via command 'ut foo bar' and is 34 implemented in C function foo_test_bar(). 35 36 Args: 37 u_boot_console (ConsoleBase): U-Boot console 38 ut_subtest (str): test to be executed via command ut, e.g 'foo bar' to 39 execute command 'ut foo bar' 40 """ 41 42 output = u_boot_console.run_command('ut ' + ut_subtest) 43 assert output.endswith('Failures: 0') 44