[PATCH v2 4/6] test/py: Drop assigning ubman to cons
Simon Glass
sjg at chromium.org
Sun Feb 9 17:07:17 CET 2025
Now that we have a shorter name, we don't need this sort of thing. Just
use ubman instead.
Signed-off-by: Simon Glass <sjg at chromium.org>
---
Changes in v2:
- Add new patch to drop assigning ubman to cons
test/py/tests/test_android/test_abootimg.py | 43 +++---
test/py/tests/test_efi_fit.py | 81 +++++-----
test/py/tests/test_env.py | 12 +-
test/py/tests/test_event_dump.py | 5 +-
test/py/tests/test_fit.py | 63 ++++----
test/py/tests/test_fit_auto_signed.py | 27 ++--
test/py/tests/test_fit_ecdsa.py | 25 ++--
test/py/tests/test_fit_hashes.py | 23 ++-
test/py/tests/test_handoff.py | 3 +-
test/py/tests/test_help.py | 14 +-
test/py/tests/test_kconfig.py | 6 +-
test/py/tests/test_log.py | 14 +-
test/py/tests/test_mmc.py | 8 +-
test/py/tests/test_of_migrate.py | 27 ++--
test/py/tests/test_ofplatdata.py | 7 +-
test/py/tests/test_sandbox_opts.py | 6 +-
test/py/tests/test_source.py | 41 +++--
test/py/tests/test_spl.py | 5 +-
test/py/tests/test_suite.py | 68 ++++-----
test/py/tests/test_tpm2.py | 4 +-
test/py/tests/test_trace.py | 57 ++++---
test/py/tests/test_upl.py | 11 +-
test/py/tests/test_ut.py | 158 ++++++++++----------
test/py/tests/test_vbe.py | 15 +-
test/py/tests/test_vbe_vpl.py | 21 ++-
test/py/tests/test_vboot.py | 146 +++++++++---------
test/py/tests/test_vpl.py | 5 +-
27 files changed, 432 insertions(+), 463 deletions(-)
diff --git a/test/py/tests/test_android/test_abootimg.py b/test/py/tests/test_android/test_abootimg.py
index c31fb466ec7..2aadb692b30 100644
--- a/test/py/tests/test_android/test_abootimg.py
+++ b/test/py/tests/test_android/test_abootimg.py
@@ -232,38 +232,37 @@ def test_abootimg(abootimg_disk_image, ubman):
def test_abootimgv4(abootimgv4_disk_image_vboot, abootimgv4_disk_image_boot, ubman):
"""Test the 'abootimg' command with boot image header v4."""
- cons = ubman
- cons.log.action('Loading disk image to RAM...')
- cons.run_command('setenv loadaddr 0x%x' % (loadaddr))
- cons.run_command('setenv vloadaddr 0x%x' % (vloadaddr))
- cons.run_command('host load hostfs - 0x%x %s' % (vloadaddr,
+ ubman.log.action('Loading disk image to RAM...')
+ ubman.run_command('setenv loadaddr 0x%x' % (loadaddr))
+ ubman.run_command('setenv vloadaddr 0x%x' % (vloadaddr))
+ ubman.run_command('host load hostfs - 0x%x %s' % (vloadaddr,
abootimgv4_disk_image_vboot.path))
- cons.run_command('host load hostfs - 0x%x %s' % (loadaddr,
+ ubman.run_command('host load hostfs - 0x%x %s' % (loadaddr,
abootimgv4_disk_image_boot.path))
- cons.run_command('abootimg addr 0x%x 0x%x' % (loadaddr, vloadaddr))
- cons.log.action('Testing \'abootimg get ver\'...')
- response = cons.run_command('abootimg get ver')
+ ubman.run_command('abootimg addr 0x%x 0x%x' % (loadaddr, vloadaddr))
+ ubman.log.action('Testing \'abootimg get ver\'...')
+ response = ubman.run_command('abootimg get ver')
assert response == "4"
- cons.run_command('abootimg get ver v')
- response = cons.run_command('env print v')
+ ubman.run_command('abootimg get ver v')
+ response = ubman.run_command('env print v')
assert response == 'v=4'
- cons.log.action('Testing \'abootimg get recovery_dtbo\'...')
- response = cons.run_command('abootimg get recovery_dtbo a')
+ ubman.log.action('Testing \'abootimg get recovery_dtbo\'...')
+ response = ubman.run_command('abootimg get recovery_dtbo a')
assert response == 'Error: header version must be >= 1 and <= 2 to get dtbo'
- cons.log.action('Testing \'abootimg get dtb_load_addr\'...')
- cons.run_command('abootimg get dtb_load_addr a')
- response = cons.run_command('env print a')
+ ubman.log.action('Testing \'abootimg get dtb_load_addr\'...')
+ ubman.run_command('abootimg get dtb_load_addr a')
+ response = ubman.run_command('env print a')
assert response == 'a=11f00000'
- cons.log.action('Testing \'abootimg get dtb --index\'...')
- cons.run_command('abootimg get dtb --index=1 dtb2_start')
- response = cons.run_command('env print dtb2_start')
+ ubman.log.action('Testing \'abootimg get dtb --index\'...')
+ ubman.run_command('abootimg get dtb --index=1 dtb2_start')
+ response = ubman.run_command('env print dtb2_start')
correct_str = "dtb2_start=%x" % (dtb2_addr)
assert response == correct_str
- cons.run_command('fdt addr $dtb2_start')
- cons.run_command('fdt get value v / model')
- response = cons.run_command('env print v')
+ ubman.run_command('fdt addr $dtb2_start')
+ ubman.run_command('fdt get value v / model')
+ response = ubman.run_command('env print v')
assert response == 'v=x2'
diff --git a/test/py/tests/test_efi_fit.py b/test/py/tests/test_efi_fit.py
index e7d523a77d5..5f352e7efff 100644
--- a/test/py/tests/test_efi_fit.py
+++ b/test/py/tests/test_efi_fit.py
@@ -148,13 +148,13 @@ def test_efi_fit_launch(ubman):
at the beginning of this file.
"""
- init_usb = cons.config.env.get('env__net_uses_usb', False)
+ init_usb = ubman.config.env.get('env__net_uses_usb', False)
if init_usb:
- cons.run_command('usb start')
+ ubman.run_command('usb start')
- init_pci = cons.config.env.get('env__net_uses_pci', False)
+ init_pci = ubman.config.env.get('env__net_uses_pci', False)
if init_pci:
- cons.run_command('pci enum')
+ ubman.run_command('pci enum')
def net_dhcp():
"""Execute the dhcp command.
@@ -163,18 +163,18 @@ def test_efi_fit_launch(ubman):
comment at the beginning of this file.
"""
- has_dhcp = cons.config.buildconfig.get('config_cmd_dhcp', 'n') == 'y'
+ has_dhcp = ubman.config.buildconfig.get('config_cmd_dhcp', 'n') == 'y'
if not has_dhcp:
- cons.log.warning('CONFIG_CMD_DHCP != y: Skipping DHCP network setup')
+ ubman.log.warning('CONFIG_CMD_DHCP != y: Skipping DHCP network setup')
return False
- test_dhcp = cons.config.env.get('env__net_dhcp_server', False)
+ test_dhcp = ubman.config.env.get('env__net_dhcp_server', False)
if not test_dhcp:
- cons.log.info('No DHCP server available')
+ ubman.log.info('No DHCP server available')
return False
- cons.run_command('setenv autoload no')
- output = cons.run_command('dhcp')
+ ubman.run_command('setenv autoload no')
+ output = ubman.run_command('dhcp')
assert 'DHCP client bound to address ' in output
return True
@@ -185,18 +185,18 @@ def test_efi_fit_launch(ubman):
the beginning of this file.
"""
- has_dhcp = cons.config.buildconfig.get('config_cmd_dhcp', 'n') == 'y'
+ has_dhcp = ubman.config.buildconfig.get('config_cmd_dhcp', 'n') == 'y'
if not has_dhcp:
- cons.log.warning('CONFIG_NET != y: Skipping static network setup')
+ ubman.log.warning('CONFIG_NET != y: Skipping static network setup')
return False
- env_vars = cons.config.env.get('env__net_static_env_vars', None)
+ env_vars = ubman.config.env.get('env__net_static_env_vars', None)
if not env_vars:
- cons.log.info('No static network configuration is defined')
+ ubman.log.info('No static network configuration is defined')
return False
for (var, val) in env_vars:
- cons.run_command('setenv %s %s' % (var, val))
+ ubman.run_command('setenv %s %s' % (var, val))
return True
def make_fpath(file_name):
@@ -208,7 +208,7 @@ def test_efi_fit_launch(ubman):
The computed file path.
"""
- return os.path.join(cons.config.build_dir, file_name)
+ return os.path.join(ubman.config.build_dir, file_name)
def make_efi(fname, comp):
"""Create an UEFI binary.
@@ -224,11 +224,11 @@ def test_efi_fit_launch(ubman):
"""
bin_path = make_fpath(fname)
- utils.run_and_log(cons,
+ utils.run_and_log(ubman,
['cp', make_fpath('lib/efi_loader/helloworld.efi'),
bin_path])
if comp:
- utils.run_and_log(cons, ['gzip', '-f', bin_path])
+ utils.run_and_log(ubman, ['gzip', '-f', bin_path])
bin_path += '.gz'
return bin_path
@@ -257,10 +257,10 @@ def test_efi_fit_launch(ubman):
# Build the test FDT.
dtb = make_fpath('test-efi-fit-%s.dtb' % fdt_type)
- utils.run_and_log(cons,
+ utils.run_and_log(ubman,
['dtc', '-I', 'dts', '-O', 'dtb', '-o', dtb, dts])
if comp:
- utils.run_and_log(cons, ['gzip', '-f', dtb])
+ utils.run_and_log(ubman, ['gzip', '-f', dtb])
dtb += '.gz'
return dtb
@@ -292,7 +292,7 @@ def test_efi_fit_launch(ubman):
# Build the test ITS.
fit_path = make_fpath('test-efi-fit-helloworld.fit')
utils.run_and_log(
- cons, [make_fpath('tools/mkimage'), '-f', its_path, fit_path])
+ ubman, [make_fpath('tools/mkimage'), '-f', its_path, fit_path])
return fit_path
def load_fit_from_host(fit):
@@ -308,9 +308,9 @@ def test_efi_fit_launch(ubman):
addr = fit.get('addr', None)
if not addr:
- addr = utils.find_ram_base(cons)
+ addr = utils.find_ram_base(ubman)
- output = cons.run_command(
+ output = ubman.run_command(
'host load hostfs - %x %s/%s' % (addr, fit['dn'], fit['fn']))
expected_text = ' bytes read'
size = fit.get('size', None)
@@ -335,10 +335,10 @@ def test_efi_fit_launch(ubman):
addr = fit.get('addr', None)
if not addr:
- addr = utils.find_ram_base(cons)
+ addr = utils.find_ram_base(ubman)
file_name = fit['fn']
- output = cons.run_command('tftpboot %x %s' % (addr, file_name))
+ output = ubman.run_command('tftpboot %x %s' % (addr, file_name))
expected_text = 'Bytes transferred = '
size = fit.get('size', None)
if size:
@@ -349,10 +349,10 @@ def test_efi_fit_launch(ubman):
if not expected_crc:
return addr
- if cons.config.buildconfig.get('config_cmd_crc32', 'n') != 'y':
+ if ubman.config.buildconfig.get('config_cmd_crc32', 'n') != 'y':
return addr
- output = cons.run_command('crc32 $fileaddr $filesize')
+ output = ubman.run_command('crc32 $fileaddr $filesize')
assert expected_crc in output
return addr
@@ -384,10 +384,10 @@ def test_efi_fit_launch(ubman):
generated content.
"""
- with cons.log.section('FDT=%s;COMP=%s' % (enable_fdt, enable_comp)):
+ with ubman.log.section('FDT=%s;COMP=%s' % (enable_fdt, enable_comp)):
if is_sandbox:
fit = {
- 'dn': cons.config.build_dir,
+ 'dn': ubman.config.build_dir,
}
else:
# Init networking.
@@ -397,7 +397,7 @@ def test_efi_fit_launch(ubman):
if not net_set_up:
pytest.skip('Network not initialized')
- fit = cons.config.env.get('env__efi_fit_tftp_file', None)
+ fit = ubman.config.env.get('env__efi_fit_tftp_file', None)
if not fit:
pytest.skip('No env__efi_fit_tftp_file binary specified in environment')
@@ -412,8 +412,8 @@ def test_efi_fit_launch(ubman):
fit['size'] = os.path.getsize(fit_path)
# Copy image to TFTP root directory.
- if fit['dn'] != cons.config.build_dir:
- utils.run_and_log(cons,
+ if fit['dn'] != ubman.config.build_dir:
+ utils.run_and_log(ubman,
['mv', '-f', fit_path, '%s/' % fit['dn']])
# Load FIT image.
@@ -423,31 +423,30 @@ def test_efi_fit_launch(ubman):
fit_config = 'config-efi-fdt' if enable_fdt else 'config-efi-nofdt'
# Try booting.
- output = cons.run_command('bootm %x#%s' % (addr, fit_config))
+ output = ubman.run_command('bootm %x#%s' % (addr, fit_config))
if enable_fdt:
assert 'Booting using the fdt blob' in output
assert 'Hello, world' in output
assert '## Application failed' not in output
- cons.restart_uboot()
+ ubman.restart_uboot()
- cons = ubman
# Array slice removes leading/trailing quotes.
- sys_arch = cons.config.buildconfig.get('config_sys_arch', '"sandbox"')[1:-1]
+ sys_arch = ubman.config.buildconfig.get('config_sys_arch', '"sandbox"')[1:-1]
if sys_arch == 'arm':
- arm64 = cons.config.buildconfig.get('config_arm64')
+ arm64 = ubman.config.buildconfig.get('config_arm64')
if arm64:
sys_arch = 'arm64'
is_sandbox = sys_arch == 'sandbox'
if is_sandbox:
- old_dtb = cons.config.dtb
+ old_dtb = ubman.config.dtb
try:
if is_sandbox:
# Use our own device tree file, will be restored afterwards.
control_dtb = make_dtb('internal', False)
- cons.config.dtb = control_dtb
+ ubman.config.dtb = control_dtb
# Run tests
# - fdt OFF, gzip OFF
@@ -464,5 +463,5 @@ def test_efi_fit_launch(ubman):
finally:
if is_sandbox:
# Go back to the original U-Boot with the correct dtb.
- cons.config.dtb = old_dtb
- cons.restart_uboot()
+ ubman.config.dtb = old_dtb
+ ubman.restart_uboot()
diff --git a/test/py/tests/test_env.py b/test/py/tests/test_env.py
index 376ea7b78b8..383e26c03b0 100644
--- a/test/py/tests/test_env.py
+++ b/test/py/tests/test_env.py
@@ -177,9 +177,8 @@ def validate_set(state_test_env, var, value):
@pytest.mark.boardspec('sandbox')
def test_env_initial_env_file(ubman):
"""Test that the u-boot-initial-env make target works"""
- cons = ubman
- builddir = 'O=' + cons.config.build_dir
- envfile = cons.config.build_dir + '/u-boot-initial-env'
+ builddir = 'O=' + ubman.config.build_dir
+ envfile = ubman.config.build_dir + '/u-boot-initial-env'
# remove if already exists from an older run
try:
@@ -187,7 +186,7 @@ def test_env_initial_env_file(ubman):
except:
pass
- utils.run_and_log(cons, ['make', builddir, 'u-boot-initial-env'])
+ utils.run_and_log(ubman, ['make', builddir, 'u-boot-initial-env'])
assert os.path.exists(envfile)
@@ -560,15 +559,14 @@ def test_env_text(ubman):
fname = os.path.join(path, 'infile')
with open(fname, 'w') as inf:
print(intext, file=inf)
- result = utils.run_and_log(cons, ['awk', '-f', script, fname])
+ result = utils.run_and_log(ubman, ['awk', '-f', script, fname])
if expect_val is not None:
expect = '#define CONFIG_EXTRA_ENV_TEXT "%s"\n' % expect_val
assert result == expect
else:
assert result == ''
- cons = ubman
- script = os.path.join(cons.config.source_dir, 'scripts', 'env2string.awk')
+ script = os.path.join(ubman.config.source_dir, 'scripts', 'env2string.awk')
# simple script with a single var
check_script('fred=123', 'fred=123\\0')
diff --git a/test/py/tests/test_event_dump.py b/test/py/tests/test_event_dump.py
index 52adced17b7..f20e5e1f4fc 100644
--- a/test/py/tests/test_event_dump.py
+++ b/test/py/tests/test_event_dump.py
@@ -11,9 +11,8 @@ import utils
@pytest.mark.boardspec('sandbox')
def test_event_dump(ubman):
"""Test that the "help" command can be executed."""
- cons = ubman
- sandbox = cons.config.build_dir + '/u-boot'
- out = utils.run_and_log(cons, ['scripts/event_dump.py', sandbox])
+ sandbox = ubman.config.build_dir + '/u-boot'
+ out = utils.run_and_log(ubman, ['scripts/event_dump.py', sandbox])
expect = '''.*Event type Id Source location
-------------------- ------------------------------ ------------------------------
EVT_FT_FIXUP bootmeth_vbe_ft_fixup .*boot/vbe_request.c:.*
diff --git a/test/py/tests/test_fit.py b/test/py/tests/test_fit.py
index bfc20c4b1ed..619f73153a0 100755
--- a/test/py/tests/test_fit.py
+++ b/test/py/tests/test_fit.py
@@ -127,7 +127,7 @@ def test_fit(ubman):
Return:
Temporary filename
"""
- return os.path.join(cons.config.build_dir, leaf)
+ return os.path.join(ubman.config.build_dir, leaf)
def filesize(fname):
"""Get the size of a file
@@ -165,7 +165,7 @@ def test_fit(ubman):
return fname
def make_compressed(filename):
- utils.run_and_log(cons, ['gzip', '-f', '-k', filename])
+ utils.run_and_log(ubman, ['gzip', '-f', '-k', filename])
return filename + '.gz'
def find_matching(text, match):
@@ -260,10 +260,10 @@ def test_fit(ubman):
- run code coverage to make sure we are testing all the code
"""
# Set up invariant files
- control_dtb = fit_util.make_dtb(cons, base_fdt, 'u-boot')
- kernel = fit_util.make_kernel(cons, 'test-kernel.bin', 'kernel')
+ control_dtb = fit_util.make_dtb(ubman, base_fdt, 'u-boot')
+ kernel = fit_util.make_kernel(ubman, 'test-kernel.bin', 'kernel')
ramdisk = make_ramdisk('test-ramdisk.bin', 'ramdisk')
- loadables1 = fit_util.make_kernel(cons, 'test-loadables1.bin', 'lenrek')
+ loadables1 = fit_util.make_kernel(ubman, 'test-loadables1.bin', 'lenrek')
loadables2 = make_ramdisk('test-loadables2.bin', 'ksidmar')
kernel_out = make_fname('kernel-out.bin')
fdt = make_fname('u-boot.dtb')
@@ -311,16 +311,16 @@ def test_fit(ubman):
}
# Make a basic FIT and a script to load it
- fit = fit_util.make_fit(cons, mkimage, base_its, params)
+ fit = fit_util.make_fit(ubman, mkimage, base_its, params)
params['fit'] = fit
cmd = base_script % params
# First check that we can load a kernel
# We could perhaps reduce duplication with some loss of readability
- cons.config.dtb = control_dtb
- cons.restart_uboot()
- with cons.log.section('Kernel load'):
- output = cons.run_command_list(cmd.splitlines())
+ ubman.config.dtb = control_dtb
+ ubman.restart_uboot()
+ with ubman.log.section('Kernel load'):
+ output = ubman.run_command_list(cmd.splitlines())
check_equal(kernel, kernel_out, 'Kernel not loaded')
check_not_equal(control_dtb, fdt_out,
'FDT loaded but should be ignored')
@@ -340,7 +340,7 @@ def test_fit(ubman):
(fit_offset, real_fit_offset))
# Check if bootargs strings substitution works
- output = cons.run_command_list([
+ output = ubman.run_command_list([
'env set bootargs \\\"\'my_boot_var=${foo}\'\\\"',
'env set foo bar',
'bootm prep',
@@ -348,63 +348,62 @@ def test_fit(ubman):
assert 'bootargs="my_boot_var=bar"' in output, "Bootargs strings not substituted"
# Now a kernel and an FDT
- with cons.log.section('Kernel + FDT load'):
+ with ubman.log.section('Kernel + FDT load'):
params['fdt_load'] = 'load = <%#x>;' % params['fdt_addr']
- fit = fit_util.make_fit(cons, mkimage, base_its, params)
- cons.restart_uboot()
- output = cons.run_command_list(cmd.splitlines())
+ fit = fit_util.make_fit(ubman, mkimage, base_its, params)
+ ubman.restart_uboot()
+ output = ubman.run_command_list(cmd.splitlines())
check_equal(kernel, kernel_out, 'Kernel not loaded')
check_equal(control_dtb, fdt_out, 'FDT not loaded')
check_not_equal(ramdisk, ramdisk_out,
'Ramdisk loaded but should not be')
# Try a ramdisk
- with cons.log.section('Kernel + FDT + Ramdisk load'):
+ with ubman.log.section('Kernel + FDT + Ramdisk load'):
params['ramdisk_config'] = 'ramdisk = "ramdisk-1";'
params['ramdisk_load'] = 'load = <%#x>;' % params['ramdisk_addr']
- fit = fit_util.make_fit(cons, mkimage, base_its, params)
- cons.restart_uboot()
- output = cons.run_command_list(cmd.splitlines())
+ fit = fit_util.make_fit(ubman, mkimage, base_its, params)
+ ubman.restart_uboot()
+ output = ubman.run_command_list(cmd.splitlines())
check_equal(ramdisk, ramdisk_out, 'Ramdisk not loaded')
# Configuration with some Loadables
- with cons.log.section('Kernel + FDT + Ramdisk load + Loadables'):
+ with ubman.log.section('Kernel + FDT + Ramdisk load + Loadables'):
params['loadables_config'] = 'loadables = "kernel-2", "ramdisk-2";'
params['loadables1_load'] = ('load = <%#x>;' %
params['loadables1_addr'])
params['loadables2_load'] = ('load = <%#x>;' %
params['loadables2_addr'])
- fit = fit_util.make_fit(cons, mkimage, base_its, params)
- cons.restart_uboot()
- output = cons.run_command_list(cmd.splitlines())
+ fit = fit_util.make_fit(ubman, mkimage, base_its, params)
+ ubman.restart_uboot()
+ output = ubman.run_command_list(cmd.splitlines())
check_equal(loadables1, loadables1_out,
'Loadables1 (kernel) not loaded')
check_equal(loadables2, loadables2_out,
'Loadables2 (ramdisk) not loaded')
# Kernel, FDT and Ramdisk all compressed
- with cons.log.section('(Kernel + FDT + Ramdisk) compressed'):
+ with ubman.log.section('(Kernel + FDT + Ramdisk) compressed'):
params['compression'] = 'gzip'
params['kernel'] = make_compressed(kernel)
params['fdt'] = make_compressed(fdt)
params['ramdisk'] = make_compressed(ramdisk)
- fit = fit_util.make_fit(cons, mkimage, base_its, params)
- cons.restart_uboot()
- output = cons.run_command_list(cmd.splitlines())
+ fit = fit_util.make_fit(ubman, mkimage, base_its, params)
+ ubman.restart_uboot()
+ output = ubman.run_command_list(cmd.splitlines())
check_equal(kernel, kernel_out, 'Kernel not loaded')
check_equal(control_dtb, fdt_out, 'FDT not loaded')
check_not_equal(ramdisk, ramdisk_out, 'Ramdisk got decompressed?')
check_equal(ramdisk + '.gz', ramdisk_out, 'Ramdist not loaded')
- cons = ubman
# We need to use our own device tree file. Remember to restore it
# afterwards.
- old_dtb = cons.config.dtb
+ old_dtb = ubman.config.dtb
try:
- mkimage = cons.config.build_dir + '/tools/mkimage'
+ mkimage = ubman.config.build_dir + '/tools/mkimage'
run_fit_test(mkimage)
finally:
# Go back to the original U-Boot with the correct dtb.
- cons.config.dtb = old_dtb
- cons.restart_uboot()
+ ubman.config.dtb = old_dtb
+ ubman.restart_uboot()
diff --git a/test/py/tests/test_fit_auto_signed.py b/test/py/tests/test_fit_auto_signed.py
index b5f872f3d0f..cdfd341c6f5 100644
--- a/test/py/tests/test_fit_auto_signed.py
+++ b/test/py/tests/test_fit_auto_signed.py
@@ -26,22 +26,22 @@ from Cryptodome.Signature import pkcs1_15
class SignedFitHelper(object):
"""Helper to manipulate a FIT with signed/hashed images/configs."""
- def __init__(self, cons, file_name):
+ def __init__(self, ubman, file_name):
self.fit = file_name
- self.cons = cons
+ self.ubman = ubman
self.images_nodes = set()
self.confgs_nodes = set()
def __fdt_list(self, path):
- return utils.run_and_log(self.cons,
+ return utils.run_and_log(self.ubman,
f'fdtget -l {self.fit} {path}')
def __fdt_get_string(self, node, prop):
- return utils.run_and_log(self.cons,
+ return utils.run_and_log(self.ubman,
f'fdtget -ts {self.fit} {node} {prop}')
def __fdt_get_binary(self, node, prop):
- numbers = utils.run_and_log(self.cons,
+ numbers = utils.run_and_log(self.ubman,
f'fdtget -tbi {self.fit} {node} {prop}')
bignum = bytearray()
@@ -133,9 +133,8 @@ def test_fit_auto_signed(ubman):
The test does not run the sandbox. It only checks the host tool mkimage.
"""
- cons = ubman
- mkimage = cons.config.build_dir + '/tools/mkimage'
- tempdir = os.path.join(cons.config.result_dir, 'auto_fit')
+ mkimage = ubman.config.build_dir + '/tools/mkimage'
+ tempdir = os.path.join(ubman.config.result_dir, 'auto_fit')
os.makedirs(tempdir, exist_ok=True)
kernel_file = f'{tempdir}/vmlinuz'
dt1_file = f'{tempdir}/dt-1.dtb'
@@ -166,29 +165,29 @@ def test_fit_auto_signed(ubman):
s_args = " -k" + tempdir + " -g" + key_name + " -o" + sign_algo
# 1 - Create auto FIT with images crc32 checksum, and verify it
- utils.run_and_log(cons, mkimage + ' -fauto' + b_args + " " + fit_file)
+ utils.run_and_log(ubman, mkimage + ' -fauto' + b_args + " " + fit_file)
- fit = SignedFitHelper(cons, fit_file)
+ fit = SignedFitHelper(ubman, fit_file)
if fit.build_nodes_sets() == 0:
raise ValueError('FIT-1 has no "/image" nor "/configuration" nodes')
fit.check_fit_crc32_images()
# 2 - Create auto FIT with signed images, and verify it
- utils.run_and_log(cons, mkimage + ' -fauto' + b_args + s_args + " " +
+ utils.run_and_log(ubman, mkimage + ' -fauto' + b_args + s_args + " " +
fit_file)
- fit = SignedFitHelper(cons, fit_file)
+ fit = SignedFitHelper(ubman, fit_file)
if fit.build_nodes_sets() == 0:
raise ValueError('FIT-2 has no "/image" nor "/configuration" nodes')
fit.check_fit_signed_images(key_name, sign_algo, verifier)
# 3 - Create auto FIT with signed configs and hashed images, and verify it
- utils.run_and_log(cons, mkimage + ' -fauto-conf' + b_args + s_args + " " +
+ utils.run_and_log(ubman, mkimage + ' -fauto-conf' + b_args + s_args + " " +
fit_file)
- fit = SignedFitHelper(cons, fit_file)
+ fit = SignedFitHelper(ubman, fit_file)
if fit.build_nodes_sets() == 0:
raise ValueError('FIT-3 has no "/image" nor "/configuration" nodes')
diff --git a/test/py/tests/test_fit_ecdsa.py b/test/py/tests/test_fit_ecdsa.py
index 63f2f6a44e6..3e816d68eb6 100644
--- a/test/py/tests/test_fit_ecdsa.py
+++ b/test/py/tests/test_fit_ecdsa.py
@@ -19,21 +19,21 @@ from Cryptodome.Signature import DSS
class SignableFitImage(object):
""" Helper to manipulate a FIT image on disk """
- def __init__(self, cons, file_name):
+ def __init__(self, ubman, file_name):
self.fit = file_name
- self.cons = cons
+ self.ubman = ubman
self.signable_nodes = set()
def __fdt_list(self, path):
- return utils.run_and_log(self.cons, f'fdtget -l {self.fit} {path}')
+ return utils.run_and_log(self.ubman, f'fdtget -l {self.fit} {path}')
def __fdt_set(self, node, **prop_value):
for prop, value in prop_value.items():
- utils.run_and_log(self.cons,
+ utils.run_and_log(self.ubman,
f'fdtput -ts {self.fit} {node} {prop} {value}')
def __fdt_get_binary(self, node, prop):
- numbers = utils.run_and_log(self.cons,
+ numbers = utils.run_and_log(self.ubman,
f'fdtget -tbi {self.fit} {node} {prop}')
bignum = bytearray()
@@ -55,7 +55,7 @@ class SignableFitImage(object):
self.__fdt_set(f'{image}/signature', algo='sha256,ecdsa256')
def sign(self, mkimage, key_file):
- utils.run_and_log(self.cons, [mkimage, '-F', self.fit, f'-G{key_file}'])
+ utils.run_and_log(self.ubman, [mkimage, '-F', self.fit, f'-G{key_file}'])
def check_signatures(self, key):
for image in self.signable_nodes:
@@ -78,16 +78,15 @@ def test_fit_ecdsa(ubman):
def assemble_fit_image(dest_fit, its, destdir):
dtc_args = f'-I dts -O dtb -i {destdir}'
- utils.run_and_log(cons, [mkimage, '-D', dtc_args, '-f', its, dest_fit])
+ utils.run_and_log(ubman, [mkimage, '-D', dtc_args, '-f', its, dest_fit])
def dtc(dts):
dtb = dts.replace('.dts', '.dtb')
- utils.run_and_log(cons, f'dtc {datadir}/{dts} -O dtb -o {tempdir}/{dtb}')
+ utils.run_and_log(ubman, f'dtc {datadir}/{dts} -O dtb -o {tempdir}/{dtb}')
- cons = ubman
- mkimage = cons.config.build_dir + '/tools/mkimage'
- datadir = cons.config.source_dir + '/test/py/tests/vboot/'
- tempdir = os.path.join(cons.config.result_dir, 'ecdsa')
+ mkimage = ubman.config.build_dir + '/tools/mkimage'
+ datadir = ubman.config.source_dir + '/test/py/tests/vboot/'
+ tempdir = os.path.join(ubman.config.result_dir, 'ecdsa')
os.makedirs(tempdir, exist_ok=True)
key_file = f'{tempdir}/ecdsa-test-key.pem'
fit_file = f'{tempdir}/test.fit'
@@ -105,7 +104,7 @@ def test_fit_ecdsa(ubman):
assemble_fit_image(fit_file, f'{datadir}/sign-images-sha256.its', tempdir)
- fit = SignableFitImage(cons, fit_file)
+ fit = SignableFitImage(ubman, fit_file)
nodes = fit.find_signable_image_nodes()
if len(nodes) == 0:
raise ValueError('FIT image has no "/image" nodes with "signature"')
diff --git a/test/py/tests/test_fit_hashes.py b/test/py/tests/test_fit_hashes.py
index bcde045d6c8..07bf0fd5211 100644
--- a/test/py/tests/test_fit_hashes.py
+++ b/test/py/tests/test_fit_hashes.py
@@ -26,20 +26,20 @@ kernel_hashes = {
class ReadonlyFitImage(object):
""" Helper to manipulate a FIT image on disk """
- def __init__(self, cons, file_name):
+ def __init__(self, ubman, file_name):
self.fit = file_name
- self.cons = cons
+ self.ubman = ubman
self.hashable_nodes = set()
def __fdt_list(self, path):
- return utils.run_and_log(self.cons, f'fdtget -l {self.fit} {path}')
+ return utils.run_and_log(self.ubman, f'fdtget -l {self.fit} {path}')
def __fdt_get(self, node, prop):
- val = utils.run_and_log(self.cons, f'fdtget {self.fit} {node} {prop}')
+ val = utils.run_and_log(self.ubman, f'fdtget {self.fit} {node} {prop}')
return val.rstrip('\n')
def __fdt_get_sexadecimal(self, node, prop):
- numbers = utils.run_and_log(self.cons,
+ numbers = utils.run_and_log(self.ubman,
f'fdtget -tbx {self.fit} {node} {prop}')
sexadecimal = ''
@@ -86,17 +86,16 @@ def test_mkimage_hashes(ubman):
def assemble_fit_image(dest_fit, its, destdir):
dtc_args = f'-I dts -O dtb -i {destdir}'
- utils.run_and_log(cons, [mkimage, '-D', dtc_args, '-f', its, dest_fit])
+ utils.run_and_log(ubman, [mkimage, '-D', dtc_args, '-f', its, dest_fit])
def dtc(dts):
dtb = dts.replace('.dts', '.dtb')
- utils.run_and_log(cons,
+ utils.run_and_log(ubman,
f'dtc {datadir}/{dts} -O dtb -o {tempdir}/{dtb}')
- cons = ubman
- mkimage = cons.config.build_dir + '/tools/mkimage'
- datadir = cons.config.source_dir + '/test/py/tests/vboot/'
- tempdir = os.path.join(cons.config.result_dir, 'hashes')
+ mkimage = ubman.config.build_dir + '/tools/mkimage'
+ datadir = ubman.config.source_dir + '/test/py/tests/vboot/'
+ tempdir = os.path.join(ubman.config.result_dir, 'hashes')
os.makedirs(tempdir, exist_ok=True)
fit_file = f'{tempdir}/test.fit'
@@ -108,7 +107,7 @@ def test_mkimage_hashes(ubman):
assemble_fit_image(fit_file, f'{datadir}/hash-images.its', tempdir)
- fit = ReadonlyFitImage(cons, fit_file)
+ fit = ReadonlyFitImage(ubman, fit_file)
nodes = fit.find_hashable_image_nodes()
if len(nodes) == 0:
raise ValueError('FIT image has no "/image" nodes with "hash-..."')
diff --git a/test/py/tests/test_handoff.py b/test/py/tests/test_handoff.py
index c0cfa3b3398..becd7d75cf7 100644
--- a/test/py/tests/test_handoff.py
+++ b/test/py/tests/test_handoff.py
@@ -10,6 +10,5 @@ TEST_HANDOFF_MAGIC = 0x14f93c7b
@pytest.mark.buildconfigspec('spl')
def test_handoff(ubman):
"""Test that of-platdata can be generated and used in sandbox"""
- cons = ubman
- response = cons.run_command('sb handoff')
+ response = ubman.run_command('sb handoff')
assert ('SPL handoff magic %x' % TEST_HANDOFF_MAGIC) in response
diff --git a/test/py/tests/test_help.py b/test/py/tests/test_help.py
index 72f7282478c..12cb36b7b98 100644
--- a/test/py/tests/test_help.py
+++ b/test/py/tests/test_help.py
@@ -16,10 +16,9 @@ def test_help(ubman):
@pytest.mark.boardspec('sandbox')
def test_help_no_devicetree(ubman):
try:
- cons = ubman
- cons.restart_uboot_with_flags([], use_dtb=False)
- cons.run_command('help')
- output = cons.get_spawn_output().replace('\r', '')
+ ubman.restart_uboot_with_flags([], use_dtb=False)
+ ubman.run_command('help')
+ output = ubman.get_spawn_output().replace('\r', '')
assert 'print command description/usage' in output
finally:
# Restart afterward to get the normal device tree back
@@ -28,10 +27,9 @@ def test_help_no_devicetree(ubman):
@pytest.mark.boardspec('sandbox_vpl')
def test_vpl_help(ubman):
try:
- cons = ubman
- cons.restart_uboot()
- cons.run_command('help')
- output = cons.get_spawn_output().replace('\r', '')
+ ubman.restart_uboot()
+ ubman.run_command('help')
+ output = ubman.get_spawn_output().replace('\r', '')
assert 'print command description/usage' in output
finally:
# Restart afterward to get the normal device tree back
diff --git a/test/py/tests/test_kconfig.py b/test/py/tests/test_kconfig.py
index a3796ea7e47..0c261d47975 100644
--- a/test/py/tests/test_kconfig.py
+++ b/test/py/tests/test_kconfig.py
@@ -13,11 +13,10 @@ TMPDIR = '/tmp/test_kconfig'
@pytest.mark.boardspec('sandbox')
def test_kconfig(ubman):
"""Test build failures when IF_ENABLED_INT() option is not enabled"""
- cons = ubman
# This detects build errors in test/lib/kconfig.c
out = utils.run_and_log(
- cons, ['./tools/buildman/buildman', '-m', '--board', 'sandbox',
+ ubman, ['./tools/buildman/buildman', '-m', '--board', 'sandbox',
'-a', 'TEST_KCONFIG', '-o', TMPDIR], ignore_errors=True)
assert 'invalid_use_of_IF_ENABLED_INT' in out
assert 'invalid_use_of_CONFIG_IF_ENABLED_INT' in out
@@ -26,11 +25,10 @@ def test_kconfig(ubman):
@pytest.mark.boardspec('sandbox_spl')
def test_kconfig_spl(ubman):
"""Test build failures when IF_ENABLED_INT() option is not enabled"""
- cons = ubman
# This detects build errors in test/lib/kconfig_spl.c
out = utils.run_and_log(
- cons, ['./tools/buildman/buildman', '-m', '--board', 'sandbox_spl',
+ ubman, ['./tools/buildman/buildman', '-m', '--board', 'sandbox_spl',
'-a', 'TEST_KCONFIG', '-o', TMPDIR], ignore_errors=True)
assert 'invalid_use_of_IF_ENABLED_INT' in out
diff --git a/test/py/tests/test_log.py b/test/py/tests/test_log.py
index 292f5b31675..4558b037e2a 100644
--- a/test/py/tests/test_log.py
+++ b/test/py/tests/test_log.py
@@ -20,18 +20,17 @@ def test_log_format(ubman):
fmt: Format to use for 'log format'
expected_output: Expected output from the 'log rec' command
"""
- output = cons.run_command('log format %s' % fmt)
+ output = ubman.run_command('log format %s' % fmt)
assert output == ''
- output = cons.run_command('log rec arch notice file.c 123 func msg')
+ output = ubman.run_command('log rec arch notice file.c 123 func msg')
assert output == expected_output
- cons = ubman
- with cons.log.section('format'):
+ with ubman.log.section('format'):
pad = int(ubman.config.buildconfig.get('config_logf_func_pad'))
padding = ' ' * (pad - len('func'))
run_with_format('all', f'NOTICE.arch,file.c:123-{padding}func() msg')
- output = cons.run_command('log format')
+ output = ubman.run_command('log format')
assert output == 'Log format: clFLfm'
run_with_format('fm', f'{padding}func() msg')
@@ -45,7 +44,6 @@ def test_log_format(ubman):
def test_log_dropped(ubman):
"""Test dropped 'log' message when debug_uart is activated"""
- cons = ubman
- cons.restart_uboot()
- output = cons.get_spawn_output().replace('\r', '')
+ ubman.restart_uboot()
+ output = ubman.get_spawn_output().replace('\r', '')
assert (not 'debug: main' in output)
diff --git a/test/py/tests/test_mmc.py b/test/py/tests/test_mmc.py
index 4916dcd8529..e751a3bd36a 100644
--- a/test/py/tests/test_mmc.py
+++ b/test/py/tests/test_mmc.py
@@ -32,19 +32,19 @@ devices = {}
mmc_modes_name = []
mmc_modes = []
-def setup_mmc_modes(cons):
+def setup_mmc_modes(ubman):
global mmc_modes, mmc_modes_name
- f = cons.config.env.get('env__mmc_device', None)
+ f = ubman.config.env.get('env__mmc_device', None)
if f:
mmc_modes_name = f.get('mmc_modes', None)
# Set mmc mode to default mode (legacy), if speed mode config isn't enabled
- if cons.config.buildconfig.get('config_mmc_speed_mode_set', 'n') != 'y':
+ if ubman.config.buildconfig.get('config_mmc_speed_mode_set', 'n') != 'y':
mmc_modes = [0]
return
if mmc_modes_name:
- mmc_help = cons.run_command('mmc -help')
+ mmc_help = ubman.run_command('mmc -help')
m = re.search(r"\[MMC_LEGACY(.*\n.+])", mmc_help)
modes = [
x.strip()
diff --git a/test/py/tests/test_of_migrate.py b/test/py/tests/test_of_migrate.py
index e866eebbfd4..ab89332331e 100644
--- a/test/py/tests/test_of_migrate.py
+++ b/test/py/tests/test_of_migrate.py
@@ -14,11 +14,11 @@ TMPDIR1 = '/tmp/test_no_migrate'
TMPDIR2 = '/tmp/test_no_migrate_spl'
TMPDIR3 = '/tmp/test_migrate'
-def build_for_migrate(cons, replace_pair, board, tmpdir, disable_migrate=True):
+def build_for_migrate(ubman, replace_pair, board, tmpdir, disable_migrate=True):
"""Build an updated U-Boot with a slightly modified device tree
Args:
- cons (ConsoleBase): U-Boot console
+ ubman (ConsoleBase): U-Boot console
replace_pair (tuple):
String to find
String to replace it with
@@ -26,14 +26,14 @@ def build_for_migrate(cons, replace_pair, board, tmpdir, disable_migrate=True):
tmpdir (str): Temporary directory to use
disable_migrate (bool): True to disable CONFIG_OF_TAG_MIGRATE in build
"""
- srcdir = cons.config.source_dir
- build_dir = cons.config.build_dir
+ srcdir = ubman.config.source_dir
+ build_dir = ubman.config.build_dir
# Get the source for the existing dts
dt_dir = os.path.join(build_dir, 'arch', 'sandbox', 'dts')
orig_fname = os.path.join(dt_dir, 'sandbox.dtb')
out_dts = os.path.join(dt_dir, 'sandbox_out.dts')
- utils.run_and_log(cons, ['dtc', orig_fname, '-I', 'dtb', '-O', 'dts',
+ utils.run_and_log(ubman, ['dtc', orig_fname, '-I', 'dtb', '-O', 'dts',
'-o', out_dts])
# Update it to use an old tag
@@ -45,7 +45,7 @@ def build_for_migrate(cons, replace_pair, board, tmpdir, disable_migrate=True):
with open(dts_fname, 'w') as outf:
print(data, file=outf)
dtb_fname = os.path.join(dt_dir, 'sandbox_oldtag.dtb')
- utils.run_and_log(cons, ['dtc', dts_fname, '-o', dtb_fname])
+ utils.run_and_log(ubman, ['dtc', dts_fname, '-o', dtb_fname])
migrate = ['-a', '~CONFIG_OF_TAG_MIGRATE'] if disable_migrate else []
@@ -55,7 +55,7 @@ def build_for_migrate(cons, replace_pair, board, tmpdir, disable_migrate=True):
env['DEVICE_TREE'] = 'sandbox_new'
env['NO_LTO'] = '1' # Speed up build
out = utils.run_and_log(
- cons, ['./tools/buildman/buildman', '-m', '--board', board,
+ ubman, ['./tools/buildman/buildman', '-m', '--board', board,
*migrate, '-w', '-o', tmpdir], ignore_errors=True, env=env)
return out
@@ -63,15 +63,14 @@ def build_for_migrate(cons, replace_pair, board, tmpdir, disable_migrate=True):
@pytest.mark.boardspec('sandbox')
def test_of_no_migrate(ubman):
"""Test sandbox with old boot phase tags like u-boot,dm-pre-proper"""
- cons = ubman
- build_for_migrate(cons, ['bootph-some-ram', 'u-boot,dm-pre-proper'],
+ build_for_migrate(ubman, ['bootph-some-ram', 'u-boot,dm-pre-proper'],
'sandbox', TMPDIR1)
# It should fail to run, since the lcd device will not be bound before
# relocation. so won't get its frame-buffer memory
out = utils.run_and_log(
- cons, [os.path.join(TMPDIR1, 'u-boot'), '-D', '-c', 'help'],
+ ubman, [os.path.join(TMPDIR1, 'u-boot'), '-D', '-c', 'help'],
ignore_errors=True)
assert "Video device 'lcd' cannot allocate frame buffer memory" in out
@@ -82,9 +81,8 @@ def test_of_no_migrate(ubman):
@pytest.mark.boardspec('!sandbox_tpl')
def test_of_no_migrate_spl(ubman):
"""Test sandbox with old boot phase tags like u-boot,dm-spl"""
- cons = ubman
- out = build_for_migrate(cons, ['bootph-pre-ram', 'u-boot,dm-spl'],
+ out = build_for_migrate(ubman, ['bootph-pre-ram', 'u-boot,dm-spl'],
'sandbox_spl', TMPDIR2)
# It should fail to build, since the SPL DT will not include 'spl-test'
@@ -96,13 +94,12 @@ def test_of_no_migrate_spl(ubman):
@pytest.mark.boardspec('sandbox')
def test_of_migrate(ubman):
"""Test sandbox shows a message when tags were migrated"""
- cons = ubman
- build_for_migrate(cons, ['bootph-some-ram', 'u-boot,dm-pre-proper'],
+ build_for_migrate(ubman, ['bootph-some-ram', 'u-boot,dm-pre-proper'],
'sandbox', TMPDIR3, disable_migrate=False)
# It should show a migration message
out = utils.run_and_log(
- cons, [os.path.join(TMPDIR3, 'u-boot'), '-D', '-c', 'help'],
+ ubman, [os.path.join(TMPDIR3, 'u-boot'), '-D', '-c', 'help'],
ignore_errors=True)
assert "Warning: Device tree includes old 'u-boot,dm-' tags" in out
diff --git a/test/py/tests/test_ofplatdata.py b/test/py/tests/test_ofplatdata.py
index b4d2db03deb..d31fa55f7c7 100644
--- a/test/py/tests/test_ofplatdata.py
+++ b/test/py/tests/test_ofplatdata.py
@@ -8,10 +8,9 @@ import utils
@pytest.mark.buildconfigspec('spl_of_platdata')
def test_spl_devicetree(ubman):
"""Test content of spl device-tree"""
- cons = ubman
- dtb = cons.config.build_dir + '/spl/u-boot-spl.dtb'
- fdtgrep = cons.config.build_dir + '/tools/fdtgrep'
- output = utils.run_and_log(cons, [fdtgrep, '-l', dtb])
+ dtb = ubman.config.build_dir + '/spl/u-boot-spl.dtb'
+ fdtgrep = ubman.config.build_dir + '/tools/fdtgrep'
+ output = utils.run_and_log(ubman, [fdtgrep, '-l', dtb])
assert "bootph-all" not in output
assert "bootph-some-ram" not in output
diff --git a/test/py/tests/test_sandbox_opts.py b/test/py/tests/test_sandbox_opts.py
index f50302cbe6b..48f5b313870 100644
--- a/test/py/tests/test_sandbox_opts.py
+++ b/test/py/tests/test_sandbox_opts.py
@@ -13,18 +13,16 @@ TMPDIR = '/tmp/test_cmdline'
@pytest.mark.boardspec('sandbox')
def test_sandbox_cmdline(ubman):
"""Test building sandbox without CONFIG_CMDLINE"""
- cons = ubman
utils.run_and_log(
- cons, ['./tools/buildman/buildman', '-m', '--board', 'sandbox',
+ ubman, ['./tools/buildman/buildman', '-m', '--board', 'sandbox',
'-a', '~CMDLINE', '-o', TMPDIR])
@pytest.mark.slow
@pytest.mark.boardspec('sandbox')
def test_sandbox_lto(ubman):
"""Test building sandbox without CONFIG_LTO"""
- cons = ubman
utils.run_and_log(
- cons, ['./tools/buildman/buildman', '-m', '--board', 'sandbox',
+ ubman, ['./tools/buildman/buildman', '-m', '--board', 'sandbox',
'-a', '~LTO', '-o', TMPDIR])
diff --git a/test/py/tests/test_source.py b/test/py/tests/test_source.py
index f0437aa15ca..970d8c79869 100644
--- a/test/py/tests/test_source.py
+++ b/test/py/tests/test_source.py
@@ -11,27 +11,26 @@ import utils
@pytest.mark.buildconfigspec('fit')
def test_source(ubman):
# Compile our test script image
- cons = ubman
- mkimage = os.path.join(cons.config.build_dir, 'tools/mkimage')
- its = os.path.join(cons.config.source_dir, 'test/py/tests/source.its')
- fit = os.path.join(cons.config.build_dir, 'source.itb')
- utils.run_and_log(cons, (mkimage, '-f', its, fit))
- cons.run_command(f'host load hostfs - $loadaddr {fit}')
+ mkimage = os.path.join(ubman.config.build_dir, 'tools/mkimage')
+ its = os.path.join(ubman.config.source_dir, 'test/py/tests/source.its')
+ fit = os.path.join(ubman.config.build_dir, 'source.itb')
+ utils.run_and_log(ubman, (mkimage, '-f', its, fit))
+ ubman.run_command(f'host load hostfs - $loadaddr {fit}')
- assert '2' in cons.run_command('source')
- assert '1' in cons.run_command('source :')
- assert '1' in cons.run_command('source :script-1')
- assert '2' in cons.run_command('source :script-2')
- assert 'Fail' in cons.run_command('source :not-a-script || echo Fail')
- assert '2' in cons.run_command('source \\#')
- assert '1' in cons.run_command('source \\#conf-1')
- assert '2' in cons.run_command('source \\#conf-2')
+ assert '2' in ubman.run_command('source')
+ assert '1' in ubman.run_command('source :')
+ assert '1' in ubman.run_command('source :script-1')
+ assert '2' in ubman.run_command('source :script-2')
+ assert 'Fail' in ubman.run_command('source :not-a-script || echo Fail')
+ assert '2' in ubman.run_command('source \\#')
+ assert '1' in ubman.run_command('source \\#conf-1')
+ assert '2' in ubman.run_command('source \\#conf-2')
- cons.run_command('fdt addr $loadaddr')
- cons.run_command('fdt rm /configurations default')
- assert '1' in cons.run_command('source')
- assert 'Fail' in cons.run_command('source \\# || echo Fail')
+ ubman.run_command('fdt addr $loadaddr')
+ ubman.run_command('fdt rm /configurations default')
+ assert '1' in ubman.run_command('source')
+ assert 'Fail' in ubman.run_command('source \\# || echo Fail')
- cons.run_command('fdt rm /images default')
- assert 'Fail' in cons.run_command('source || echo Fail')
- assert 'Fail' in cons.run_command('source \\# || echo Fail')
+ ubman.run_command('fdt rm /images default')
+ assert 'Fail' in ubman.run_command('source || echo Fail')
+ assert 'Fail' in ubman.run_command('source \\# || echo Fail')
diff --git a/test/py/tests/test_spl.py b/test/py/tests/test_spl.py
index 6b226c256b7..48407399039 100644
--- a/test/py/tests/test_spl.py
+++ b/test/py/tests/test_spl.py
@@ -33,9 +33,8 @@ def test_spl(ubman, ut_spl_subtest):
ut_subtest (str): SPL test to be executed (e.g. 'dm platdata_phandle')
"""
try:
- cons = ubman
- cons.restart_uboot_with_flags(['-u', '-k', ut_spl_subtest.split()[1]])
- output = cons.get_spawn_output().replace('\r', '')
+ ubman.restart_uboot_with_flags(['-u', '-k', ut_spl_subtest.split()[1]])
+ output = ubman.get_spawn_output().replace('\r', '')
assert 'failures: 0' in output
finally:
# Restart afterward in case a non-SPL test is run next. This should not
diff --git a/test/py/tests/test_suite.py b/test/py/tests/test_suite.py
index 9ddc883394b..b4bc87d6d0c 100644
--- a/test/py/tests/test_suite.py
+++ b/test/py/tests/test_suite.py
@@ -18,11 +18,11 @@ EXPECTED_SUITES = [
DEBUG_ME = False
-def collect_info(cons, output):
+def collect_info(ubman, output):
"""Process the output from 'ut all'
Args:
- cons: U-Boot console object
+ ubman: U-Boot console object
output: Output from running 'ut all'
Returns:
@@ -45,15 +45,15 @@ def collect_info(cons, output):
for line in output.splitlines():
line = line.rstrip()
if DEBUG_ME:
- cons.log.info(f'line: {line}')
+ ubman.log.info(f'line: {line}')
m = re.search('----Running ([^ ]*) tests----', line)
if m:
if DEBUG_ME and cur_suite and cur_suite != 'info':
- cons.log.info(f'suite: {cur_suite} expected {exp_test_count[cur_suite]} found {test_count}')
+ ubman.log.info(f'suite: {cur_suite} expected {exp_test_count[cur_suite]} found {test_count}')
cur_suite = m.group(1)
if DEBUG_ME:
- cons.log.info(f'cur_suite: {cur_suite}')
+ ubman.log.info(f'cur_suite: {cur_suite}')
suites.add(cur_suite)
test_count = 0
@@ -65,7 +65,7 @@ def collect_info(cons, output):
test_name = m.group(1)
msg = m.group(3)
if DEBUG_ME:
- cons.log.info(f"test_name {test_name} msg '{msg}'")
+ ubman.log.info(f"test_name {test_name} msg '{msg}'")
full_name = f'{cur_suite}.{test_name}'
if msg == ' (flat tree)' and full_name not in tests:
tests.add(full_name)
@@ -74,10 +74,10 @@ def collect_info(cons, output):
tests.add(full_name)
test_count += 1
if DEBUG_ME:
- cons.log.info(f'test_count {test_count}')
+ ubman.log.info(f'test_count {test_count}')
if DEBUG_ME:
- cons.log.info(f'suite: {cur_suite} expected {exp_test_count[cur_suite]} found {test_count}')
- cons.log.info(f"Tests: {' '.join(sorted(list(tests)))}")
+ ubman.log.info(f'suite: {cur_suite} expected {exp_test_count[cur_suite]} found {test_count}')
+ ubman.log.info(f"Tests: {' '.join(sorted(list(tests)))}")
# Figure out what is missing, or extra
missing = set()
@@ -91,11 +91,11 @@ def collect_info(cons, output):
return suites, tests, exp_test_count, missing, extra
-def process_ut_info(cons, output):
+def process_ut_info(ubman, output):
"""Process the output of the 'ut info' command
Args:
- cons: U-Boot console object
+ ubman: U-Boot console object
output: Output from running 'ut all'
Returns:
@@ -113,7 +113,7 @@ def process_ut_info(cons, output):
for line in output.splitlines():
line = line.rstrip()
if DEBUG_ME:
- cons.log.info(f'line: {line}')
+ ubman.log.info(f'line: {line}')
m = re.match(r'Test suites: (.*)', line)
if m:
suite_count = int(m.group(1))
@@ -142,45 +142,45 @@ def xtest_suite(u_boot_console, u_boot_config):
- The expected set of suites is run (the list is hard-coded in this test)
"""
- cons = u_boot_console
+ ubman = u_boot_console
buildconfig = u_boot_config.buildconfig
- with cons.log.section('Run all unit tests'):
+ with ubman.log.section('Run all unit tests'):
# ut hush hush_test_simple_dollar prints "Unknown command" on purpose.
with u_boot_console.disable_check('unknown_command'):
- output = cons.run_command('ut all')
+ output = ubman.run_command('ut all')
# Process the output from the run
- with cons.log.section('Check output'):
- suites, all_tests, exp_test_count, missing, extra = collect_info(cons,
+ with ubman.log.section('Check output'):
+ suites, all_tests, exp_test_count, missing, extra = collect_info(ubman,
output)
- cons.log.info(f'missing {missing}')
- cons.log.info(f'extra {extra}')
+ ubman.log.info(f'missing {missing}')
+ ubman.log.info(f'extra {extra}')
# Make sure we got a test count for each suite
assert not (suites - exp_test_count.keys())
# Deal with missing suites
- with cons.log.section('Check missing suites'):
+ with ubman.log.section('Check missing suites'):
if 'config_cmd_seama' not in buildconfig:
- cons.log.info("CMD_SEAMA not enabled: Ignoring suite 'seama'")
+ ubman.log.info("CMD_SEAMA not enabled: Ignoring suite 'seama'")
missing.discard('seama')
# Run 'ut info' and compare with the log results
- with cons.log.section('Check suite test-counts'):
- output = cons.run_command('ut -s info')
+ with ubman.log.section('Check suite test-counts'):
+ output = ubman.run_command('ut -s info')
- suite_count, total_test_count, test_count = process_ut_info(cons,
+ suite_count, total_test_count, test_count = process_ut_info(ubman,
output)
if missing or extra:
- cons.log.info(f"suites: {' '.join(sorted(list(suites)))}")
- cons.log.error(f'missing: {sorted(list(missing))}')
- cons.log.error(f'extra: {sorted(list(extra))}')
+ ubman.log.info(f"suites: {' '.join(sorted(list(suites)))}")
+ ubman.log.error(f'missing: {sorted(list(missing))}')
+ ubman.log.error(f'extra: {sorted(list(extra))}')
assert not missing, f'Missing suites {missing}'
assert not extra, f'Extra suites {extra}'
- cons.log.info(str(exp_test_count))
+ ubman.log.info(str(exp_test_count))
for suite in EXPECTED_SUITES:
assert test_count[suite] in ['?', str(exp_test_count[suite])], \
f'suite {suite} expected {exp_test_count[suite]}'
@@ -189,18 +189,18 @@ def xtest_suite(u_boot_console, u_boot_config):
assert total_test_count == len(all_tests)
# Run three suites
- with cons.log.section('Check multiple suites'):
- output = cons.run_command('ut bloblist,setexpr,mem')
+ with ubman.log.section('Check multiple suites'):
+ output = ubman.run_command('ut bloblist,setexpr,mem')
assert 'Suites run: 3' in output
# Run a particular test
- with cons.log.section('Check single test'):
- output = cons.run_command('ut bloblist reloc')
+ with ubman.log.section('Check single test'):
+ output = ubman.run_command('ut bloblist reloc')
assert 'Test: reloc: bloblist.c' in output
# Run tests multiple times
- with cons.log.section('Check multiple runs'):
- output = cons.run_command('ut -r2 bloblist')
+ with ubman.log.section('Check multiple runs'):
+ output = ubman.run_command('ut -r2 bloblist')
lines = output.splitlines()
run = len([line for line in lines if 'Test:' in line])
count = re.search(r'Tests run: (\d*)', lines[-1]).group(1)
diff --git a/test/py/tests/test_tpm2.py b/test/py/tests/test_tpm2.py
index ade102a387e..064651c3e23 100644
--- a/test/py/tests/test_tpm2.py
+++ b/test/py/tests/test_tpm2.py
@@ -50,9 +50,9 @@ def force_init(ubman, force=False):
ubman.run_command('tpm2 clear TPM2_RH_PLATFORM')
ubman.run_command('echo --- end of init ---')
-def is_sandbox(cons):
+def is_sandbox(ubman):
# Array slice removes leading/trailing quotes.
- sys_arch = cons.config.buildconfig.get('config_sys_arch', '"sandbox"')[1:-1]
+ sys_arch = ubman.config.buildconfig.get('config_sys_arch', '"sandbox"')[1:-1]
return sys_arch == 'sandbox'
@pytest.mark.buildconfigspec('cmd_tpm_v2')
diff --git a/test/py/tests/test_trace.py b/test/py/tests/test_trace.py
index 3f3105ebf9a..1786d1e0729 100644
--- a/test/py/tests/test_trace.py
+++ b/test/py/tests/test_trace.py
@@ -15,19 +15,19 @@ TMPDIR = '/tmp/test_trace'
RE_LINE = re.compile(r'.*0\.\.\.\.\.? \s*([0-9.]*): func.*[|](\s*)(\S.*)?([{};])$')
-def collect_trace(cons):
+def collect_trace(ubman):
"""Build U-Boot and run it to collect a trace
Args:
- cons (ConsoleBase): U-Boot console
+ ubman (ConsoleBase): U-Boot console
Returns:
tuple:
str: Filename of the output trace file
int: Microseconds taken for initf_dm according to bootstage
"""
- cons.run_command('trace pause')
- out = cons.run_command('trace stats')
+ ubman.run_command('trace pause')
+ out = ubman.run_command('trace stats')
# The output is something like this:
# 251,003 function sites
@@ -48,10 +48,10 @@ def collect_trace(cons):
assert int(vals['untracked function calls']) == 0
assert int(vals['maximum observed call depth']) > 30
assert (vals['call depth limit'] ==
- cons.config.buildconfig.get('config_trace_call_depth_limit'))
+ ubman.config.buildconfig.get('config_trace_call_depth_limit'))
assert int(vals['calls not traced due to depth']) > 100000
- out = cons.run_command('bootstage report')
+ out = ubman.run_command('bootstage report')
# Accumulated time:
# 19,104 dm_r
# 23,078 of_live
@@ -62,30 +62,30 @@ def collect_trace(cons):
# Read out the trace data
addr = 0x02000000
size = 0x02000000
- out = cons.run_command(f'trace calls {addr:x} {size:x}')
+ out = ubman.run_command(f'trace calls {addr:x} {size:x}')
print(out)
fname = os.path.join(TMPDIR, 'trace')
- out = cons.run_command(
+ out = ubman.run_command(
'host save hostfs - %x %s ${profoffset}' % (addr, fname))
return fname, int(dm_f_time[0])
-def check_function(cons, fname, proftool, map_fname, trace_dat):
+def check_function(ubman, fname, proftool, map_fname, trace_dat):
"""Check that the 'function' output works
Args:
- cons (ConsoleBase): U-Boot console
+ ubman (ConsoleBase): U-Boot console
fname (str): Filename of trace file
proftool (str): Filename of proftool
map_fname (str): Filename of System.map
trace_dat (str): Filename of output file
"""
out = utils.run_and_log(
- cons, [proftool, '-t', fname, '-o', trace_dat, '-m', map_fname,
+ ubman, [proftool, '-t', fname, '-o', trace_dat, '-m', map_fname,
'dump-ftrace'])
# Check that trace-cmd can read it
- out = utils.run_and_log(cons, ['trace-cmd', 'dump', trace_dat])
+ out = utils.run_and_log(ubman, ['trace-cmd', 'dump', trace_dat])
# Tracing meta data in file /tmp/test_trace/trace.dat:
# [Initial format]
@@ -114,7 +114,7 @@ def check_function(cons, fname, proftool, map_fname, trace_dat):
# Check that the trace has something useful
cmd = f"trace-cmd report -l {trace_dat} |grep -E '(initf_|initr_)'"
- out = utils.run_and_log(cons, ['sh', '-c', cmd])
+ out = utils.run_and_log(ubman, ['sh', '-c', cmd])
# Format:
# u-boot-1 0..... 60.805596: function: initf_malloc
@@ -141,11 +141,11 @@ def check_function(cons, fname, proftool, map_fname, trace_dat):
assert max_delta < 5
-def check_funcgraph(cons, fname, proftool, map_fname, trace_dat):
+def check_funcgraph(ubman, fname, proftool, map_fname, trace_dat):
"""Check that the 'funcgraph' output works
Args:
- cons (ConsoleBase): U-Boot console
+ ubman (ConsoleBase): U-Boot console
fname (str): Filename of trace file
proftool (str): Filename of proftool
map_fname (str): Filename of System.map
@@ -157,12 +157,12 @@ def check_funcgraph(cons, fname, proftool, map_fname, trace_dat):
# Generate the funcgraph format
out = utils.run_and_log(
- cons, [proftool, '-t', fname, '-o', trace_dat, '-m', map_fname,
+ ubman, [proftool, '-t', fname, '-o', trace_dat, '-m', map_fname,
'dump-ftrace', '-f', 'funcgraph'])
# Check that the trace has what we expect
cmd = f'trace-cmd report -l {trace_dat} |head -n 70'
- out = utils.run_and_log(cons, ['sh', '-c', cmd])
+ out = utils.run_and_log(ubman, ['sh', '-c', cmd])
# First look for this:
# u-boot-1 0..... 282.101360: funcgraph_entry: 0.004 us | initf_malloc();
@@ -204,7 +204,7 @@ def check_funcgraph(cons, fname, proftool, map_fname, trace_dat):
# Now look for initf_dm() and dm_timer_init() so we can check the bootstage
# time
cmd = f"trace-cmd report -l {trace_dat} |grep -E '(initf_dm|dm_timer_init)'"
- out = utils.run_and_log(cons, ['sh', '-c', cmd])
+ out = utils.run_and_log(ubman, ['sh', '-c', cmd])
start_timestamp = None
end_timestamp = None
@@ -223,14 +223,14 @@ def check_funcgraph(cons, fname, proftool, map_fname, trace_dat):
return int((float(end_timestamp) - float(start_timestamp)) * 1000000)
-def check_flamegraph(cons, fname, proftool, map_fname, trace_fg):
+def check_flamegraph(ubman, fname, proftool, map_fname, trace_fg):
"""Check that the 'flamegraph' output works
This spot checks a few call counts and estimates the time taken by the
initf_dm() function
Args:
- cons (ConsoleBase): U-Boot console
+ ubman (ConsoleBase): U-Boot console
fname (str): Filename of trace file
proftool (str): Filename of proftool
map_fname (str): Filename of System.map
@@ -242,7 +242,7 @@ def check_flamegraph(cons, fname, proftool, map_fname, trace_fg):
# Generate the flamegraph format
out = utils.run_and_log(
- cons, [proftool, '-t', fname, '-o', trace_fg, '-m', map_fname,
+ ubman, [proftool, '-t', fname, '-o', trace_fg, '-m', map_fname,
'dump-flamegraph'])
# We expect dm_timer_init() to be called twice: once before relocation and
@@ -259,7 +259,7 @@ def check_flamegraph(cons, fname, proftool, map_fname, trace_fg):
# Generate the timing graph
utils.run_and_log(
- cons, [proftool, '-t', fname, '-o', trace_fg, '-m', map_fname,
+ ubman, [proftool, '-t', fname, '-o', trace_fg, '-m', map_fname,
'dump-flamegraph', '-f', 'timing'])
# Add up all the time spend in initf_dm() and its children
@@ -279,26 +279,25 @@ check_flamegraph
@pytest.mark.buildconfigspec('trace')
def test_trace(ubman):
"""Test we can build sandbox with trace, collect and process a trace"""
- cons = ubman
if not os.path.exists(TMPDIR):
os.mkdir(TMPDIR)
- proftool = os.path.join(cons.config.build_dir, 'tools', 'proftool')
- map_fname = os.path.join(cons.config.build_dir, 'System.map')
+ proftool = os.path.join(ubman.config.build_dir, 'tools', 'proftool')
+ map_fname = os.path.join(ubman.config.build_dir, 'System.map')
trace_dat = os.path.join(TMPDIR, 'trace.dat')
trace_fg = os.path.join(TMPDIR, 'trace.fg')
- fname, dm_f_time = collect_trace(cons)
+ fname, dm_f_time = collect_trace(ubman)
- check_function(cons, fname, proftool, map_fname, trace_dat)
- trace_time = check_funcgraph(cons, fname, proftool, map_fname, trace_dat)
+ check_function(ubman, fname, proftool, map_fname, trace_dat)
+ trace_time = check_funcgraph(ubman, fname, proftool, map_fname, trace_dat)
# Check that bootstage and funcgraph agree to within 10 microseconds
diff = abs(trace_time - dm_f_time)
print(f'trace_time {trace_time}, dm_f_time {dm_f_time}')
assert diff / dm_f_time < 0.01
- fg_time = check_flamegraph(cons, fname, proftool, map_fname, trace_fg)
+ fg_time = check_flamegraph(ubman, fname, proftool, map_fname, trace_fg)
# Check that bootstage and flamegraph agree to within 30%
# This allows for CI being slow to run
diff --git a/test/py/tests/test_upl.py b/test/py/tests/test_upl.py
index 24b0a5c634c..b9c84c380f8 100644
--- a/test/py/tests/test_upl.py
+++ b/test/py/tests/test_upl.py
@@ -19,20 +19,19 @@ def test_upl_handoff(ubman):
The entire FIT is loaded into memory in SPL (in upl_load_from_image()) so
that it can be inpected in upl_test_info_norun
"""
- cons = ubman
- ram = os.path.join(cons.config.build_dir, 'ram.bin')
- fdt = os.path.join(cons.config.build_dir, 'u-boot.dtb')
+ ram = os.path.join(ubman.config.build_dir, 'ram.bin')
+ fdt = os.path.join(ubman.config.build_dir, 'u-boot.dtb')
# Remove any existing RAM file, so we don't have old data present
if os.path.exists(ram):
os.remove(ram)
flags = ['-m', ram, '-d', fdt, '--upl']
- cons.restart_uboot_with_flags(flags, use_dtb=False)
+ ubman.restart_uboot_with_flags(flags, use_dtb=False)
# Make sure that Universal Payload is detected in U-Boot proper
- output = cons.run_command('upl info')
+ output = ubman.run_command('upl info')
assert 'UPL state: active' == output
# Check the FIT offsets look correct
- output = cons.run_command('ut upl -f upl_test_info_norun')
+ output = ubman.run_command('ut upl -f upl_test_info_norun')
assert 'failures: 0' in output
diff --git a/test/py/tests/test_ut.py b/test/py/tests/test_ut.py
index d7cf95d461b..ea0c43cd4fc 100644
--- a/test/py/tests/test_ut.py
+++ b/test/py/tests/test_ut.py
@@ -27,12 +27,12 @@ def mkdir_cond(dirname):
if not os.path.exists(dirname):
os.mkdir(dirname)
-def setup_image(cons, devnum, part_type, img_size=20, second_part=False,
+def setup_image(ubman, devnum, part_type, img_size=20, second_part=False,
basename='mmc'):
"""Create a disk image with a single partition
Args:
- cons (ConsoleBase): Console to use
+ ubman (ConsoleBase): Console to use
devnum (int): Device number to use, e.g. 1
part_type (int): Partition type, e.g. 0xc for FAT32
img_size (int): Image size in MiB
@@ -44,26 +44,26 @@ def setup_image(cons, devnum, part_type, img_size=20, second_part=False,
str: Filename of MMC image
str: Directory name of scratch directory
"""
- fname = os.path.join(cons.config.source_dir, f'{basename}{devnum}.img')
- mnt = os.path.join(cons.config.persistent_data_dir, 'scratch')
+ fname = os.path.join(ubman.config.source_dir, f'{basename}{devnum}.img')
+ mnt = os.path.join(ubman.config.persistent_data_dir, 'scratch')
mkdir_cond(mnt)
spec = f'type={part_type:x}, size={img_size - 2}M, start=1M, bootable'
if second_part:
spec += '\ntype=c'
- utils.run_and_log(cons, f'qemu-img create {fname} 20M')
- utils.run_and_log(cons, f'sfdisk {fname}',
+ utils.run_and_log(ubman, f'qemu-img create {fname} 20M')
+ utils.run_and_log(ubman, f'sfdisk {fname}',
stdin=spec.encode('utf-8'))
return fname, mnt
-def setup_bootmenu_image(cons):
+def setup_bootmenu_image(ubman):
"""Create a 20MB disk image with a single ext4 partition
This is modelled on Armbian 22.08 Jammy
"""
mmc_dev = 4
- fname, mnt = setup_image(cons, mmc_dev, 0x83)
+ fname, mnt = setup_image(ubman, mmc_dev, 0x83)
script = '''# DO NOT EDIT THIS FILE
#
@@ -146,16 +146,16 @@ booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}
with open(cmd_fname, 'w', encoding='ascii') as outf:
print(script, file=outf)
- infname = os.path.join(cons.config.source_dir,
+ infname = os.path.join(ubman.config.source_dir,
'test/py/tests/bootstd/armbian.bmp.xz')
bmp_file = os.path.join(bootdir, 'boot.bmp')
utils.run_and_log(
- cons,
+ ubman,
['sh', '-c', f'xz -dc {infname} >{bmp_file}'])
- mkimage = cons.config.build_dir + '/tools/mkimage'
+ mkimage = ubman.config.build_dir + '/tools/mkimage'
utils.run_and_log(
- cons, f'{mkimage} -C none -A arm -T script -d {cmd_fname} {scr_fname}')
+ ubman, f'{mkimage} -C none -A arm -T script -d {cmd_fname} {scr_fname}')
kernel = 'vmlinuz-5.15.63-rockchip64'
target = os.path.join(bootdir, kernel)
@@ -166,20 +166,20 @@ booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}
if os.path.exists(symlink):
os.remove(symlink)
utils.run_and_log(
- cons, f'echo here {kernel} {symlink}')
+ ubman, f'echo here {kernel} {symlink}')
os.symlink(kernel, symlink)
fsfile = 'ext18M.img'
- utils.run_and_log(cons, f'fallocate -l 18M {fsfile}')
- utils.run_and_log(cons, f'mkfs.ext4 {fsfile} -d {mnt}')
- utils.run_and_log(cons, f'dd if={fsfile} of={fname} bs=1M seek=1')
- utils.run_and_log(cons, f'rm -rf {mnt}')
- utils.run_and_log(cons, f'rm -f {fsfile}')
+ utils.run_and_log(ubman, f'fallocate -l 18M {fsfile}')
+ utils.run_and_log(ubman, f'mkfs.ext4 {fsfile} -d {mnt}')
+ utils.run_and_log(ubman, f'dd if={fsfile} of={fname} bs=1M seek=1')
+ utils.run_and_log(ubman, f'rm -rf {mnt}')
+ utils.run_and_log(ubman, f'rm -f {fsfile}')
-def setup_bootflow_image(cons):
+def setup_bootflow_image(ubman):
"""Create a 20MB disk image with a single FAT partition"""
mmc_dev = 1
- fname, mnt = setup_image(cons, mmc_dev, 0xc, second_part=True)
+ fname, mnt = setup_image(ubman, mmc_dev, 0xc, second_part=True)
vmlinux = 'vmlinuz-5.3.7-301.fc31.armv7hl'
initrd = 'initramfs-5.3.7-301.fc31.armv7hl.img'
@@ -204,12 +204,12 @@ label Fedora-Workstation-armhfp-31-1.9 (5.3.7-301.fc31.armv7hl)
with open(conf, 'w', encoding='ascii') as fd:
print(script, file=fd)
- inf = os.path.join(cons.config.persistent_data_dir, 'inf')
+ inf = os.path.join(ubman.config.persistent_data_dir, 'inf')
with open(inf, 'wb') as fd:
fd.write(gzip.compress(b'vmlinux'))
- mkimage = cons.config.build_dir + '/tools/mkimage'
+ mkimage = ubman.config.build_dir + '/tools/mkimage'
utils.run_and_log(
- cons, f'{mkimage} -f auto -d {inf} {os.path.join(mnt, vmlinux)}')
+ ubman, f'{mkimage} -f auto -d {inf} {os.path.join(mnt, vmlinux)}')
with open(os.path.join(mnt, initrd), 'w', encoding='ascii') as fd:
print('initrd', file=fd)
@@ -218,27 +218,27 @@ label Fedora-Workstation-armhfp-31-1.9 (5.3.7-301.fc31.armv7hl)
dtb_file = os.path.join(mnt, f'{dtbdir}/sandbox.dtb')
utils.run_and_log(
- cons, f'dtc -o {dtb_file}', stdin=b'/dts-v1/; / {};')
+ ubman, f'dtc -o {dtb_file}', stdin=b'/dts-v1/; / {};')
fsfile = 'vfat18M.img'
- utils.run_and_log(cons, f'fallocate -l 18M {fsfile}')
- utils.run_and_log(cons, f'mkfs.vfat {fsfile}')
- utils.run_and_log(cons, ['sh', '-c', f'mcopy -i {fsfile} {mnt}/* ::/'])
- utils.run_and_log(cons, f'dd if={fsfile} of={fname} bs=1M seek=1')
- utils.run_and_log(cons, f'rm -rf {mnt}')
- utils.run_and_log(cons, f'rm -f {fsfile}')
-
-def setup_cros_image(cons):
+ utils.run_and_log(ubman, f'fallocate -l 18M {fsfile}')
+ utils.run_and_log(ubman, f'mkfs.vfat {fsfile}')
+ utils.run_and_log(ubman, ['sh', '-c', f'mcopy -i {fsfile} {mnt}/* ::/'])
+ utils.run_and_log(ubman, f'dd if={fsfile} of={fname} bs=1M seek=1')
+ utils.run_and_log(ubman, f'rm -rf {mnt}')
+ utils.run_and_log(ubman, f'rm -f {fsfile}')
+
+def setup_cros_image(ubman):
"""Create a 20MB disk image with ChromiumOS partitions"""
Partition = collections.namedtuple('part', 'start,size,name')
parts = {}
disk_data = None
- def pack_kernel(cons, arch, kern, dummy):
+ def pack_kernel(ubman, arch, kern, dummy):
"""Pack a kernel containing some fake data
Args:
- cons (ConsoleBase): Console to use
+ ubman (ConsoleBase): Console to use
arch (str): Architecture to use ('x86' or 'arm')
kern (str): Filename containing kernel
dummy (str): Dummy filename to use for config and bootloader
@@ -246,10 +246,10 @@ def setup_cros_image(cons):
Return:
bytes: Packed-kernel data
"""
- kern_part = os.path.join(cons.config.result_dir,
+ kern_part = os.path.join(ubman.config.result_dir,
f'kern-part-{arch}.bin')
utils.run_and_log(
- cons,
+ ubman,
f'futility vbutil_kernel --pack {kern_part} '
'--keyblock doc/chromium/files/devkeys/kernel.keyblock '
'--signprivate doc/chromium/files/devkeys/kernel_data_key.vbprivk '
@@ -275,9 +275,9 @@ def setup_cros_image(cons):
disk_data = disk_data[:start] + data + disk_data[start + len(data):]
mmc_dev = 5
- fname = os.path.join(cons.config.source_dir, f'mmc{mmc_dev}.img')
- utils.run_and_log(cons, f'qemu-img create {fname} 20M')
- utils.run_and_log(cons, f'cgpt create {fname}')
+ fname = os.path.join(ubman.config.source_dir, f'mmc{mmc_dev}.img')
+ utils.run_and_log(ubman, f'qemu-img create {fname} 20M')
+ utils.run_and_log(ubman, f'cgpt create {fname}')
uuid_state = 'ebd0a0a2-b9e5-4433-87c0-68b6b72699c7'
uuid_kern = 'fe3a2a5d-4f32-41a7-b725-accc3285a309'
@@ -317,12 +317,12 @@ def setup_cros_image(cons):
else:
size = int(size_str)
utils.run_and_log(
- cons,
+ ubman,
f"cgpt add -i {part['num']} -b {ptr} -s {size} -t {part['type']} {fname}")
ptr += size
- utils.run_and_log(cons, f'cgpt boot -p {fname}')
- out = utils.run_and_log(cons, f'cgpt show -q {fname}')
+ utils.run_and_log(ubman, f'cgpt boot -p {fname}')
+ out = utils.run_and_log(ubman, f'cgpt show -q {fname}')
# We expect something like this:
# 8239 2048 1 Basic data
@@ -344,14 +344,14 @@ def setup_cros_image(cons):
parts[int(num)] = Partition(int(start), int(size), name)
# Set up the kernel command-line
- dummy = os.path.join(cons.config.result_dir, 'dummy.txt')
+ dummy = os.path.join(ubman.config.result_dir, 'dummy.txt')
with open(dummy, 'wb') as outf:
outf.write(b'BOOT_IMAGE=/vmlinuz-5.15.0-121-generic root=/dev/nvme0n1p1 ro quiet splash vt.handoff=7')
# For now we just use dummy kernels. This limits testing to just detecting
# a signed kernel. We could add support for the x86 data structures so that
# testing could cover getting the cmdline, setup.bin and other pieces.
- kern = os.path.join(cons.config.result_dir, 'kern.bin')
+ kern = os.path.join(ubman.config.result_dir, 'kern.bin')
with open(kern, 'wb') as outf:
outf.write(b'kernel\n')
@@ -359,15 +359,15 @@ def setup_cros_image(cons):
disk_data = inf.read()
# put x86 kernel in partition 2 and arm one in partition 4
- set_part_data(2, pack_kernel(cons, 'x86', kern, dummy))
- set_part_data(4, pack_kernel(cons, 'arm', kern, dummy))
+ set_part_data(2, pack_kernel(ubman, 'x86', kern, dummy))
+ set_part_data(4, pack_kernel(ubman, 'arm', kern, dummy))
with open(fname, 'wb') as outf:
outf.write(disk_data)
return fname
-def setup_android_image(cons):
+def setup_android_image(ubman):
"""Create a 20MB disk image with Android partitions"""
Partition = collections.namedtuple('part', 'start,size,name')
parts = {}
@@ -388,9 +388,9 @@ def setup_android_image(cons):
disk_data = disk_data[:start] + data + disk_data[start + len(data):]
mmc_dev = 7
- fname = os.path.join(cons.config.source_dir, f'mmc{mmc_dev}.img')
- utils.run_and_log(cons, f'qemu-img create {fname} 20M')
- utils.run_and_log(cons, f'cgpt create {fname}')
+ fname = os.path.join(ubman.config.source_dir, f'mmc{mmc_dev}.img')
+ utils.run_and_log(ubman, f'qemu-img create {fname} 20M')
+ utils.run_and_log(ubman, f'cgpt create {fname}')
ptr = 40
@@ -413,12 +413,12 @@ def setup_android_image(cons):
else:
size = int(size_str)
utils.run_and_log(
- cons,
+ ubman,
f"cgpt add -i {part['num']} -b {ptr} -s {size} -l {part['label']} -t basicdata {fname}")
ptr += size
- utils.run_and_log(cons, f'cgpt boot -p {fname}')
- out = utils.run_and_log(cons, f'cgpt show -q {fname}')
+ utils.run_and_log(ubman, f'cgpt boot -p {fname}')
+ out = utils.run_and_log(ubman, f'cgpt show -q {fname}')
# Create a dict (indexed by partition number) containing the above info
for line in out.splitlines():
@@ -428,13 +428,13 @@ def setup_android_image(cons):
with open(fname, 'rb') as inf:
disk_data = inf.read()
- test_abootimg.AbootimgTestDiskImage(cons, 'bootv4.img', test_abootimg.boot_img_hex)
- boot_img = os.path.join(cons.config.result_dir, 'bootv4.img')
+ test_abootimg.AbootimgTestDiskImage(ubman, 'bootv4.img', test_abootimg.boot_img_hex)
+ boot_img = os.path.join(ubman.config.result_dir, 'bootv4.img')
with open(boot_img, 'rb') as inf:
set_part_data(2, inf.read())
- test_abootimg.AbootimgTestDiskImage(cons, 'vendor_boot.img', test_abootimg.vboot_img_hex)
- vendor_boot_img = os.path.join(cons.config.result_dir, 'vendor_boot.img')
+ test_abootimg.AbootimgTestDiskImage(ubman, 'vendor_boot.img', test_abootimg.vboot_img_hex)
+ vendor_boot_img = os.path.join(ubman.config.result_dir, 'vendor_boot.img')
with open(vendor_boot_img, 'rb') as inf:
set_part_data(4, inf.read())
@@ -444,9 +444,9 @@ def setup_android_image(cons):
print(f'wrote to {fname}')
mmc_dev = 8
- fname = os.path.join(cons.config.source_dir, f'mmc{mmc_dev}.img')
- utils.run_and_log(cons, f'qemu-img create {fname} 20M')
- utils.run_and_log(cons, f'cgpt create {fname}')
+ fname = os.path.join(ubman.config.source_dir, f'mmc{mmc_dev}.img')
+ utils.run_and_log(ubman, f'qemu-img create {fname} 20M')
+ utils.run_and_log(ubman, f'cgpt create {fname}')
ptr = 40
@@ -467,12 +467,12 @@ def setup_android_image(cons):
else:
size = int(size_str)
utils.run_and_log(
- cons,
+ ubman,
f"cgpt add -i {part['num']} -b {ptr} -s {size} -l {part['label']} -t basicdata {fname}")
ptr += size
- utils.run_and_log(cons, f'cgpt boot -p {fname}')
- out = utils.run_and_log(cons, f'cgpt show -q {fname}')
+ utils.run_and_log(ubman, f'cgpt boot -p {fname}')
+ out = utils.run_and_log(ubman, f'cgpt show -q {fname}')
# Create a dict (indexed by partition number) containing the above info
for line in out.splitlines():
@@ -482,8 +482,8 @@ def setup_android_image(cons):
with open(fname, 'rb') as inf:
disk_data = inf.read()
- test_abootimg.AbootimgTestDiskImage(cons, 'boot.img', test_abootimg.img_hex)
- boot_img = os.path.join(cons.config.result_dir, 'boot.img')
+ test_abootimg.AbootimgTestDiskImage(ubman, 'boot.img', test_abootimg.img_hex)
+ boot_img = os.path.join(ubman.config.result_dir, 'boot.img')
with open(boot_img, 'rb') as inf:
set_part_data(2, inf.read())
@@ -494,16 +494,16 @@ def setup_android_image(cons):
return fname
-def setup_cedit_file(cons):
+def setup_cedit_file(ubman):
"""Set up a .dtb file for use with testing expo and configuration editor"""
- infname = os.path.join(cons.config.source_dir,
+ infname = os.path.join(ubman.config.source_dir,
'test/boot/files/expo_layout.dts')
- inhname = os.path.join(cons.config.source_dir,
+ inhname = os.path.join(ubman.config.source_dir,
'test/boot/files/expo_ids.h')
- expo_tool = os.path.join(cons.config.source_dir, 'tools/expo.py')
+ expo_tool = os.path.join(ubman.config.source_dir, 'tools/expo.py')
outfname = 'cedit.dtb'
utils.run_and_log(
- cons, f'{expo_tool} -e {inhname} -l {infname} -o {outfname}')
+ ubman, f'{expo_tool} -e {inhname} -l {infname} -o {outfname}')
@pytest.mark.buildconfigspec('ut_dm')
def test_ut_dm_init(ubman):
@@ -541,30 +541,30 @@ def test_ut_dm_init(ubman):
fh.write(data)
-def setup_efi_image(cons):
+def setup_efi_image(ubman):
"""Create a 20MB disk image with an EFI app on it"""
devnum = 1
basename = 'flash'
- fname, mnt = setup_image(cons, devnum, 0xc, second_part=True,
+ fname, mnt = setup_image(ubman, devnum, 0xc, second_part=True,
basename=basename)
efi_dir = os.path.join(mnt, 'EFI')
mkdir_cond(efi_dir)
bootdir = os.path.join(efi_dir, 'BOOT')
mkdir_cond(bootdir)
- efi_src = os.path.join(cons.config.build_dir,
+ efi_src = os.path.join(ubman.config.build_dir,
'lib/efi_loader/testapp.efi')
efi_dst = os.path.join(bootdir, 'BOOTSBOX.EFI')
with open(efi_src, 'rb') as inf:
with open(efi_dst, 'wb') as outf:
outf.write(inf.read())
fsfile = 'vfat18M.img'
- utils.run_and_log(cons, f'fallocate -l 18M {fsfile}')
- utils.run_and_log(cons, f'mkfs.vfat {fsfile}')
- utils.run_and_log(cons, ['sh', '-c', f'mcopy -vs -i {fsfile} {mnt}/* ::/'])
- utils.run_and_log(cons, f'dd if={fsfile} of={fname} bs=1M seek=1')
- utils.run_and_log(cons, f'rm -rf {mnt}')
- utils.run_and_log(cons, f'rm -f {fsfile}')
+ utils.run_and_log(ubman, f'fallocate -l 18M {fsfile}')
+ utils.run_and_log(ubman, f'mkfs.vfat {fsfile}')
+ utils.run_and_log(ubman, ['sh', '-c', f'mcopy -vs -i {fsfile} {mnt}/* ::/'])
+ utils.run_and_log(ubman, f'dd if={fsfile} of={fname} bs=1M seek=1')
+ utils.run_and_log(ubman, f'rm -rf {mnt}')
+ utils.run_and_log(ubman, f'rm -f {fsfile}')
@pytest.mark.buildconfigspec('cmd_bootflow')
@pytest.mark.buildconfigspec('sandbox')
diff --git a/test/py/tests/test_vbe.py b/test/py/tests/test_vbe.py
index 876d22fa809..a1f32f375b6 100644
--- a/test/py/tests/test_vbe.py
+++ b/test/py/tests/test_vbe.py
@@ -91,10 +91,9 @@ ut bootstd -f vbe_test_fixup_norun
@pytest.mark.boardspec('sandbox_flattree')
@pytest.mark.requiredtool('dtc')
def test_vbe(ubman):
- cons = ubman
- kernel = fit_util.make_kernel(cons, 'vbe-kernel.bin', 'kernel')
- fdt = fit_util.make_dtb(cons, base_fdt, 'vbe-fdt')
- fdt_out = fit_util.make_fname(cons, 'fdt-out.dtb')
+ kernel = fit_util.make_kernel(ubman, 'vbe-kernel.bin', 'kernel')
+ fdt = fit_util.make_dtb(ubman, base_fdt, 'vbe-fdt')
+ fdt_out = fit_util.make_fname(ubman, 'fdt-out.dtb')
params = {
'fit_addr' : 0x1000,
@@ -108,13 +107,13 @@ def test_vbe(ubman):
'compression' : 'none',
}
- mkimage = cons.config.build_dir + '/tools/mkimage'
- fit = fit_util.make_fit(cons, mkimage, base_its, params, 'test-vbe.fit',
+ mkimage = ubman.config.build_dir + '/tools/mkimage'
+ fit = fit_util.make_fit(ubman, mkimage, base_its, params, 'test-vbe.fit',
base_fdt)
params['fit'] = fit
cmd = base_script % params
- with cons.log.section('Kernel load'):
- output = cons.run_command_list(cmd.splitlines())
+ with ubman.log.section('Kernel load'):
+ output = ubman.run_command_list(cmd.splitlines())
assert 'failures: 0' in output[-1]
diff --git a/test/py/tests/test_vbe_vpl.py b/test/py/tests/test_vbe_vpl.py
index 317a324281e..f011b034f63 100644
--- a/test/py/tests/test_vbe_vpl.py
+++ b/test/py/tests/test_vbe_vpl.py
@@ -11,30 +11,29 @@ import utils
@pytest.mark.boardspec('sandbox_vpl')
@pytest.mark.requiredtool('dtc')
def test_vbe_vpl(ubman):
- cons = ubman
- #cmd = [cons.config.build_dir + fname, '-v']
- ram = os.path.join(cons.config.build_dir, 'ram.bin')
- fdt = os.path.join(cons.config.build_dir, 'arch/sandbox/dts/test.dtb')
- image_fname = os.path.join(cons.config.build_dir, 'image.bin')
+ #cmd = [ubman.config.build_dir + fname, '-v']
+ ram = os.path.join(ubman.config.build_dir, 'ram.bin')
+ fdt = os.path.join(ubman.config.build_dir, 'arch/sandbox/dts/test.dtb')
+ image_fname = os.path.join(ubman.config.build_dir, 'image.bin')
# Enable firmware1 and the mmc that it uses. These are needed for the full
# VBE flow.
utils.run_and_log(
- cons, f'fdtput -t s {fdt} /bootstd/firmware0 status disabled')
+ ubman, f'fdtput -t s {fdt} /bootstd/firmware0 status disabled')
utils.run_and_log(
- cons, f'fdtput -t s {fdt} /bootstd/firmware1 status okay')
+ ubman, f'fdtput -t s {fdt} /bootstd/firmware1 status okay')
utils.run_and_log(
- cons, f'fdtput -t s {fdt} /mmc3 status okay')
+ ubman, f'fdtput -t s {fdt} /mmc3 status okay')
utils.run_and_log(
- cons, f'fdtput -t s {fdt} /mmc3 filename {image_fname}')
+ ubman, f'fdtput -t s {fdt} /mmc3 filename {image_fname}')
# Remove any existing RAM file, so we don't have old data present
if os.path.exists(ram):
os.remove(ram)
flags = ['-p', image_fname, '-w', '-s', 'state.dtb']
- cons.restart_uboot_with_flags(flags)
+ ubman.restart_uboot_with_flags(flags)
# Make sure that VBE was used in both VPL (to load SPL) and SPL (to load
# U-Boot
- output = cons.run_command('vbe state')
+ output = ubman.run_command('vbe state')
assert output == 'Phases: VPL SPL'
diff --git a/test/py/tests/test_vboot.py b/test/py/tests/test_vboot.py
index 2b29871b7d4..7a7f9c379de 100644
--- a/test/py/tests/test_vboot.py
+++ b/test/py/tests/test_vboot.py
@@ -47,7 +47,7 @@ import vboot_forge
import vboot_evil
# Common helper functions
-def dtc(dts, cons, dtc_args, datadir, tmpdir, dtb):
+def dtc(dts, ubman, dtc_args, datadir, tmpdir, dtb):
"""Run the device tree compiler to compile a .dts file
The output file will be the same as the input file but with a .dtb
@@ -55,30 +55,30 @@ def dtc(dts, cons, dtc_args, datadir, tmpdir, dtb):
Args:
dts: Device tree file to compile.
- cons: U-Boot console.
+ ubman: U-Boot console.
dtc_args: DTC arguments.
datadir: Path to data directory.
tmpdir: Path to temp directory.
dtb: Resulting DTB file.
"""
dtb = dts.replace('.dts', '.dtb')
- utils.run_and_log(cons, 'dtc %s %s%s -O dtb '
+ utils.run_and_log(ubman, 'dtc %s %s%s -O dtb '
'-o %s%s' % (dtc_args, datadir, dts, tmpdir, dtb))
-def make_fit(its, cons, mkimage, dtc_args, datadir, fit):
+def make_fit(its, ubman, mkimage, dtc_args, datadir, fit):
"""Make a new FIT from the .its source file.
This runs 'mkimage -f' to create a new FIT.
Args:
its: Filename containing .its source.
- cons: U-Boot console.
+ ubman: U-Boot console.
mkimage: Path to mkimage utility.
dtc_args: DTC arguments.
datadir: Path to data directory.
fit: Resulting FIT file.
"""
- utils.run_and_log(cons, [mkimage, '-D', dtc_args, '-f',
+ utils.run_and_log(ubman, [mkimage, '-D', dtc_args, '-f',
'%s%s' % (datadir, its), fit])
# Only run the full suite on a few combinations, since it doesn't add any more
@@ -134,7 +134,7 @@ def test_vboot(ubman, name, sha_algo, padding, sign_options, required,
options: Options provided to the compiler.
"""
dtb = dts.replace('.dts', '.dtb')
- utils.run_and_log(cons, 'dtc %s %s%s -O dtb -o %s%s %s' %
+ utils.run_and_log(ubman, 'dtc %s %s%s -O dtb -o %s%s %s' %
(dtc_args, datadir, dts, tmpdir, dtb, options))
def run_binman(dtb):
@@ -145,7 +145,7 @@ def test_vboot(ubman, name, sha_algo, padding, sign_options, required,
"""
pythonpath = os.environ.get('PYTHONPATH', '')
os.environ['PYTHONPATH'] = pythonpath + ':' + '%s/../scripts/dtc/pylibfdt' % tmpdir
- utils.run_and_log(cons, [binman, 'build', '-d', "%s/%s" % (tmpdir,dtb),
+ utils.run_and_log(ubman, [binman, 'build', '-d', "%s/%s" % (tmpdir,dtb),
'-a', "pre-load-key-path=%s" % tmpdir, '-O',
tmpdir, '-I', tmpdir])
os.environ['PYTHONPATH'] = pythonpath
@@ -167,9 +167,9 @@ def test_vboot(ubman, name, sha_algo, padding, sign_options, required,
"""
if not fit:
fit = '%stest.fit' % tmpdir
- cons.restart_uboot()
- with cons.log.section('Verified boot %s %s' % (sha_algo, test_type)):
- output = cons.run_command_list(
+ ubman.restart_uboot()
+ with ubman.log.section('Verified boot %s %s' % (sha_algo, test_type)):
+ output = ubman.run_command_list(
['host load hostfs - 100 %s' % fit,
'fdt addr 100',
'bootm 100'])
@@ -194,8 +194,8 @@ def test_vboot(ubman, name, sha_algo, padding, sign_options, required,
args = [mkimage, '-F', '-k', tmpdir, '-K', dtb, '-r', fit]
if options:
args += options.split(' ')
- cons.log.action('%s: Sign images' % sha_algo)
- utils.run_and_log(cons, args)
+ ubman.log.action('%s: Sign images' % sha_algo)
+ utils.run_and_log(ubman, args)
def sign_fit_dtb(sha_algo, options, dtb):
"""Sign the FIT
@@ -211,8 +211,8 @@ def test_vboot(ubman, name, sha_algo, padding, sign_options, required,
args = [mkimage, '-F', '-k', tmpdir, '-K', dtb, '-r', fit]
if options:
args += options.split(' ')
- cons.log.action('%s: Sign images' % sha_algo)
- utils.run_and_log(cons, args)
+ ubman.log.action('%s: Sign images' % sha_algo)
+ utils.run_and_log(ubman, args)
def sign_fit_norequire(sha_algo, options):
"""Sign the FIT
@@ -228,8 +228,8 @@ def test_vboot(ubman, name, sha_algo, padding, sign_options, required,
args = [mkimage, '-F', '-k', tmpdir, '-K', dtb, fit]
if options:
args += options.split(' ')
- cons.log.action('%s: Sign images' % sha_algo)
- utils.run_and_log(cons, args)
+ ubman.log.action('%s: Sign images' % sha_algo)
+ utils.run_and_log(ubman, args)
def replace_fit_totalsize(size):
"""Replace FIT header's totalsize with something greater.
@@ -278,13 +278,13 @@ def test_vboot(ubman, name, sha_algo, padding, sign_options, required,
else:
rsa_keygen_bits = 2048
- utils.run_and_log(cons, 'openssl genpkey -algorithm RSA -out %s%s.key '
+ utils.run_and_log(ubman, 'openssl genpkey -algorithm RSA -out %s%s.key '
'-pkeyopt rsa_keygen_bits:%d '
'-pkeyopt rsa_keygen_pubexp:%d' %
(tmpdir, name, rsa_keygen_bits, public_exponent))
# Create a certificate containing the public key
- utils.run_and_log(cons, 'openssl req -batch -new -x509 -key %s%s.key '
+ utils.run_and_log(ubman, 'openssl req -batch -new -x509 -key %s%s.key '
'-out %s%s.crt' % (tmpdir, name, tmpdir, name))
def test_with_algo(sha_algo, padding, sign_options):
@@ -303,12 +303,12 @@ def test_vboot(ubman, name, sha_algo, padding, sign_options, required,
# Compile our device tree files for kernel and U-Boot. These are
# regenerated here since mkimage will modify them (by adding a
# public key) below.
- dtc('sandbox-kernel.dts', cons, dtc_args, datadir, tmpdir, dtb)
- dtc('sandbox-u-boot.dts', cons, dtc_args, datadir, tmpdir, dtb)
+ dtc('sandbox-kernel.dts', ubman, dtc_args, datadir, tmpdir, dtb)
+ dtc('sandbox-u-boot.dts', ubman, dtc_args, datadir, tmpdir, dtb)
# Build the FIT, but don't sign anything yet
- cons.log.action('%s: Test FIT with signed images' % sha_algo)
- make_fit('sign-images-%s%s.its' % (sha_algo, padding), cons, mkimage, dtc_args, datadir, fit)
+ ubman.log.action('%s: Test FIT with signed images' % sha_algo)
+ make_fit('sign-images-%s%s.its' % (sha_algo, padding), ubman, mkimage, dtc_args, datadir, fit)
run_bootm(sha_algo, 'unsigned images', ' - OK' if algo_arg else 'dev-', True)
# Sign images with our dev keys
@@ -316,19 +316,19 @@ def test_vboot(ubman, name, sha_algo, padding, sign_options, required,
run_bootm(sha_algo, 'signed images', 'dev+', True)
# Create a fresh .dtb without the public keys
- dtc('sandbox-u-boot.dts', cons, dtc_args, datadir, tmpdir, dtb)
+ dtc('sandbox-u-boot.dts', ubman, dtc_args, datadir, tmpdir, dtb)
- cons.log.action('%s: Test FIT with signed configuration' % sha_algo)
- make_fit('sign-configs-%s%s.its' % (sha_algo, padding), cons, mkimage, dtc_args, datadir, fit)
+ ubman.log.action('%s: Test FIT with signed configuration' % sha_algo)
+ make_fit('sign-configs-%s%s.its' % (sha_algo, padding), ubman, mkimage, dtc_args, datadir, fit)
run_bootm(sha_algo, 'unsigned config', '%s+ OK' % ('sha256' if algo_arg else sha_algo), True)
# Sign images with our dev keys
sign_fit(sha_algo, sign_options)
run_bootm(sha_algo, 'signed config', 'dev+', True)
- cons.log.action('%s: Check signed config on the host' % sha_algo)
+ ubman.log.action('%s: Check signed config on the host' % sha_algo)
- utils.run_and_log(cons, [fit_check_sign, '-f', fit, '-k', dtb])
+ utils.run_and_log(ubman, [fit_check_sign, '-f', fit, '-k', dtb])
if full_test:
# Make sure that U-Boot checks that the config is in the list of
@@ -341,7 +341,7 @@ def test_vboot(ubman, name, sha_algo, padding, sign_options, required,
with open(ffit, 'w+b') as fd:
vboot_forge.write_fdt(root, strblock, fd)
utils.run_and_log_expect_exception(
- cons, [fit_check_sign, '-f', ffit, '-k', dtb],
+ ubman, [fit_check_sign, '-f', ffit, '-k', dtb],
1, 'Failed to verify required signature')
run_bootm(sha_algo, 'forged config', 'Bad Data Hash', False, ffit)
@@ -352,7 +352,7 @@ def test_vboot(ubman, name, sha_algo, padding, sign_options, required,
vboot_evil.add_evil_node(fit, efit, evil_kernel, 'fakeroot')
utils.run_and_log_expect_exception(
- cons, [fit_check_sign, '-f', efit, '-k', dtb],
+ ubman, [fit_check_sign, '-f', efit, '-k', dtb],
1, 'Failed to verify required signature')
run_bootm(sha_algo, 'evil fakeroot', 'Bad FIT kernel image format',
False, efit)
@@ -364,41 +364,41 @@ def test_vboot(ubman, name, sha_algo, padding, sign_options, required,
msg = 'Signature checking prevents use of unit addresses (@) in nodes'
utils.run_and_log_expect_exception(
- cons, [fit_check_sign, '-f', efit, '-k', dtb],
+ ubman, [fit_check_sign, '-f', efit, '-k', dtb],
1, msg)
run_bootm(sha_algo, 'evil kernel@', msg, False, efit)
# Create a new properly signed fit and replace header bytes
- make_fit('sign-configs-%s%s.its' % (sha_algo, padding), cons, mkimage, dtc_args, datadir, fit)
+ make_fit('sign-configs-%s%s.its' % (sha_algo, padding), ubman, mkimage, dtc_args, datadir, fit)
sign_fit(sha_algo, sign_options)
bcfg = ubman.config.buildconfig
max_size = int(bcfg.get('config_fit_signature_max_size', 0x10000000), 0)
existing_size = replace_fit_totalsize(max_size + 1)
run_bootm(sha_algo, 'Signed config with bad hash', 'Bad Data Hash',
False)
- cons.log.action('%s: Check overflowed FIT header totalsize' % sha_algo)
+ ubman.log.action('%s: Check overflowed FIT header totalsize' % sha_algo)
# Replace with existing header bytes
replace_fit_totalsize(existing_size)
run_bootm(sha_algo, 'signed config', 'dev+', True)
- cons.log.action('%s: Check default FIT header totalsize' % sha_algo)
+ ubman.log.action('%s: Check default FIT header totalsize' % sha_algo)
# Increment the first byte of the signature, which should cause failure
- sig = utils.run_and_log(cons, 'fdtget -t bx %s %s value' %
+ sig = utils.run_and_log(ubman, 'fdtget -t bx %s %s value' %
(fit, sig_node))
byte_list = sig.split()
byte = int(byte_list[0], 16)
byte_list[0] = '%x' % (byte + 1)
sig = ' '.join(byte_list)
- utils.run_and_log(cons, 'fdtput -t bx %s %s value %s' %
+ utils.run_and_log(ubman, 'fdtput -t bx %s %s value %s' %
(fit, sig_node, sig))
run_bootm(sha_algo, 'Signed config with bad hash', 'Bad Data Hash',
False)
- cons.log.action('%s: Check bad config on the host' % sha_algo)
+ ubman.log.action('%s: Check bad config on the host' % sha_algo)
utils.run_and_log_expect_exception(
- cons, [fit_check_sign, '-f', fit, '-k', dtb],
+ ubman, [fit_check_sign, '-f', fit, '-k', dtb],
1, 'Failed to verify required signature')
def test_required_key(sha_algo, padding, sign_options):
@@ -416,19 +416,19 @@ def test_vboot(ubman, name, sha_algo, padding, sign_options, required,
# Compile our device tree files for kernel and U-Boot. These are
# regenerated here since mkimage will modify them (by adding a
# public key) below.
- dtc('sandbox-kernel.dts', cons, dtc_args, datadir, tmpdir, dtb)
- dtc('sandbox-u-boot.dts', cons, dtc_args, datadir, tmpdir, dtb)
+ dtc('sandbox-kernel.dts', ubman, dtc_args, datadir, tmpdir, dtb)
+ dtc('sandbox-u-boot.dts', ubman, dtc_args, datadir, tmpdir, dtb)
- cons.log.action('%s: Test FIT with configs images' % sha_algo)
+ ubman.log.action('%s: Test FIT with configs images' % sha_algo)
# Build the FIT with prod key (keys required) and sign it. This puts the
# signature into sandbox-u-boot.dtb, marked 'required'
- make_fit('sign-configs-%s%s-prod.its' % (sha_algo, padding), cons, mkimage, dtc_args, datadir, fit)
+ make_fit('sign-configs-%s%s-prod.its' % (sha_algo, padding), ubman, mkimage, dtc_args, datadir, fit)
sign_fit(sha_algo, sign_options)
# Build the FIT with dev key (keys NOT required). This adds the
# signature into sandbox-u-boot.dtb, NOT marked 'required'.
- make_fit('sign-configs-%s%s.its' % (sha_algo, padding), cons, mkimage, dtc_args, datadir, fit)
+ make_fit('sign-configs-%s%s.its' % (sha_algo, padding), ubman, mkimage, dtc_args, datadir, fit)
sign_fit_norequire(sha_algo, sign_options)
# So now sandbox-u-boot.dtb two signatures, for the prod and dev keys.
@@ -440,7 +440,7 @@ def test_vboot(ubman, name, sha_algo, padding, sign_options, required,
# Build the FIT with dev key (keys required) and sign it. This puts the
# signature into sandbox-u-boot.dtb, marked 'required'.
- make_fit('sign-configs-%s%s.its' % (sha_algo, padding), cons, mkimage, dtc_args, datadir, fit)
+ make_fit('sign-configs-%s%s.its' % (sha_algo, padding), ubman, mkimage, dtc_args, datadir, fit)
sign_fit(sha_algo, sign_options)
# Set the required-mode policy to "any".
@@ -449,7 +449,7 @@ def test_vboot(ubman, name, sha_algo, padding, sign_options, required,
# a dev signature only (sign_fit() overwrites the FIT).
# Try to boot the FIT with dev key. This FIT should be accepted by
# U-Boot because the dev key is required and policy is "any" required key.
- utils.run_and_log(cons, 'fdtput -t s %s /signature required-mode any' %
+ utils.run_and_log(ubman, 'fdtput -t s %s /signature required-mode any' %
dtb)
run_bootm(sha_algo, 'multi required key', 'dev+', True)
@@ -459,7 +459,7 @@ def test_vboot(ubman, name, sha_algo, padding, sign_options, required,
# a dev signature only (sign_fit() overwrites the FIT).
# Try to boot the FIT with dev key. This FIT should not be accepted by
# U-Boot because the prod key is required and policy is "all" required key
- utils.run_and_log(cons, 'fdtput -t s %s /signature required-mode all' %
+ utils.run_and_log(ubman, 'fdtput -t s %s /signature required-mode all' %
dtb)
run_bootm(sha_algo, 'multi required key', '', False)
@@ -473,22 +473,22 @@ def test_vboot(ubman, name, sha_algo, padding, sign_options, required,
"""
dtb = '%ssandbox-u-boot-global%s.dtb' % (tmpdir, padding)
- cons.config.dtb = dtb
+ ubman.config.dtb = dtb
# Compile our device tree files for kernel and U-Boot. These are
# regenerated here since mkimage will modify them (by adding a
# public key) below.
- dtc('sandbox-kernel.dts', cons, dtc_args, datadir, tmpdir, dtb)
+ dtc('sandbox-kernel.dts', ubman, dtc_args, datadir, tmpdir, dtb)
dtc_options('sandbox-u-boot-global%s.dts' % padding, '-p 1024')
# Build the FIT with dev key (keys NOT required). This adds the
# signature into sandbox-u-boot.dtb, NOT marked 'required'.
- make_fit('simple-images.its', cons, mkimage, dtc_args, datadir, fit)
+ make_fit('simple-images.its', ubman, mkimage, dtc_args, datadir, fit)
sign_fit_dtb(sha_algo, '', dtb)
# Build the dtb for binman that define the pre-load header
# with the global sigature.
- dtc('sandbox-binman%s.dts' % padding, cons, dtc_args, datadir, tmpdir, dtb)
+ dtc('sandbox-binman%s.dts' % padding, ubman, dtc_args, datadir, tmpdir, dtb)
# Run binman to create the final image with the not signed fit
# and the pre-load header that contains the global signature.
@@ -508,15 +508,14 @@ def test_vboot(ubman, name, sha_algo, padding, sign_options, required,
# Check that the boot fails if the global signature is not provided
run_bootm(sha_algo, 'global image signature', 'signature is mandatory', False)
- cons = ubman
- tmpdir = os.path.join(cons.config.result_dir, name) + '/'
+ tmpdir = os.path.join(ubman.config.result_dir, name) + '/'
if not os.path.exists(tmpdir):
os.mkdir(tmpdir)
- datadir = cons.config.source_dir + '/test/py/tests/vboot/'
+ datadir = ubman.config.source_dir + '/test/py/tests/vboot/'
fit = '%stest.fit' % tmpdir
- mkimage = cons.config.build_dir + '/tools/mkimage'
- binman = cons.config.source_dir + '/tools/binman/binman'
- fit_check_sign = cons.config.build_dir + '/tools/fit_check_sign'
+ mkimage = ubman.config.build_dir + '/tools/mkimage'
+ binman = ubman.config.source_dir + '/tools/binman/binman'
+ fit_check_sign = ubman.config.build_dir + '/tools/fit_check_sign'
dtc_args = '-I dts -O dtb -i %s' % tmpdir
dtb = '%ssandbox-u-boot.dtb' % tmpdir
sig_node = '/configurations/conf-1/signature'
@@ -535,9 +534,9 @@ def test_vboot(ubman, name, sha_algo, padding, sign_options, required,
# We need to use our own device tree file. Remember to restore it
# afterwards.
- old_dtb = cons.config.dtb
+ old_dtb = ubman.config.dtb
try:
- cons.config.dtb = dtb
+ ubman.config.dtb = dtb
if global_sign:
test_global_sign(sha_algo, padding, sign_options)
elif required:
@@ -546,8 +545,8 @@ def test_vboot(ubman, name, sha_algo, padding, sign_options, required,
test_with_algo(sha_algo, padding, sign_options)
finally:
# Go back to the original U-Boot with the correct dtb.
- cons.config.dtb = old_dtb
- cons.restart_uboot()
+ ubman.config.dtb = old_dtb
+ ubman.restart_uboot()
TESTDATA_IN = [
@@ -593,8 +592,8 @@ def test_fdt_add_pubkey(ubman, name, sha_algo, padding, sign_options, algo_arg):
args = [mkimage, '-F', '-k', tmpdir, fit]
if options:
args += options.split(' ')
- cons.log.action('%s: Sign images' % sha_algo)
- utils.run_and_log(cons, args)
+ ubman.log.action('%s: Sign images' % sha_algo)
+ utils.run_and_log(ubman, args)
def test_add_pubkey(sha_algo, padding, sign_options):
"""Test fdt_add_pubkey utility with given hash algorithm and padding.
@@ -609,34 +608,33 @@ def test_fdt_add_pubkey(ubman, name, sha_algo, padding, sign_options, algo_arg):
"""
# Create a fresh .dtb without the public keys
- dtc('sandbox-u-boot.dts', cons, dtc_args, datadir, tmpdir, dtb)
+ dtc('sandbox-u-boot.dts', ubman, dtc_args, datadir, tmpdir, dtb)
- cons.log.action('%s: Test fdt_add_pubkey with signed configuration' % sha_algo)
+ ubman.log.action('%s: Test fdt_add_pubkey with signed configuration' % sha_algo)
# Then add the dev key via the fdt_add_pubkey tool
- utils.run_and_log(cons,
+ utils.run_and_log(ubman,
[fdt_add_pubkey, '-a', '%s,%s' %
('sha256' if algo_arg else sha_algo,
'rsa3072' if sha_algo == 'sha384' else 'rsa2048'),
'-k', tmpdir, '-n', 'dev', '-r', 'conf', dtb])
- make_fit('sign-configs-%s%s.its' % (sha_algo, padding), cons, mkimage, dtc_args, datadir, fit)
+ make_fit('sign-configs-%s%s.its' % (sha_algo, padding), ubman, mkimage, dtc_args, datadir, fit)
# Sign images with our dev keys
sign_fit(sha_algo, sign_options)
# Check with fit_check_sign that FIT is signed with key
- utils.run_and_log(cons, [fit_check_sign, '-f', fit, '-k', dtb])
+ utils.run_and_log(ubman, [fit_check_sign, '-f', fit, '-k', dtb])
- cons = ubman
- tmpdir = os.path.join(cons.config.result_dir, name) + '/'
+ tmpdir = os.path.join(ubman.config.result_dir, name) + '/'
if not os.path.exists(tmpdir):
os.mkdir(tmpdir)
- datadir = cons.config.source_dir + '/test/py/tests/vboot/'
+ datadir = ubman.config.source_dir + '/test/py/tests/vboot/'
fit = '%stest.fit' % tmpdir
- mkimage = cons.config.build_dir + '/tools/mkimage'
- binman = cons.config.source_dir + '/tools/binman/binman'
- fit_check_sign = cons.config.build_dir + '/tools/fit_check_sign'
- fdt_add_pubkey = cons.config.build_dir + '/tools/fdt_add_pubkey'
+ mkimage = ubman.config.build_dir + '/tools/mkimage'
+ binman = ubman.config.source_dir + '/tools/binman/binman'
+ fit_check_sign = ubman.config.build_dir + '/tools/fit_check_sign'
+ fdt_add_pubkey = ubman.config.build_dir + '/tools/fdt_add_pubkey'
dtc_args = '-I dts -O dtb -i %s' % tmpdir
dtb = '%ssandbox-u-boot.dtb' % tmpdir
diff --git a/test/py/tests/test_vpl.py b/test/py/tests/test_vpl.py
index 735e2c3bbbe..a269c7c262e 100644
--- a/test/py/tests/test_vpl.py
+++ b/test/py/tests/test_vpl.py
@@ -23,9 +23,8 @@ def test_vpl(ubman, ut_vpl_subtest):
ut_subtest (str): VPL test to be executed (e.g. 'dm platdata_phandle')
"""
try:
- cons = ubman
- cons.restart_uboot_with_flags(['-u', '-k', ut_vpl_subtest.split()[1]])
- output = cons.get_spawn_output().replace('\r', '')
+ ubman.restart_uboot_with_flags(['-u', '-k', ut_vpl_subtest.split()[1]])
+ output = ubman.get_spawn_output().replace('\r', '')
assert 'failures: 0' in output
finally:
# Restart afterward in case a non-VPL test is run next. This should not
--
2.43.0
More information about the U-Boot
mailing list