Move setup_script_image() to its own module. The image exercises the
script bootmeth and is modelled on Armbian 22.08 Jammy, so name the
module and function after what they test rather than the distribution.

Signed-off-by: Simon Glass <[email protected]>
---

Changes in v2:
- Rename the module to script and the function to setup_script_image(),
  naming it after the bootmeth it tests rather than the Armbian
  distribution it is modelled on

 test/py/img/script.py    | 129 +++++++++++++++++++++++++++++++++++++++
 test/py/tests/test_ut.py | 122 +-----------------------------------
 2 files changed, 131 insertions(+), 120 deletions(-)
 create mode 100644 test/py/img/script.py

diff --git a/test/py/img/script.py b/test/py/img/script.py
new file mode 100644
index 00000000000..3e36686ee5a
--- /dev/null
+++ b/test/py/img/script.py
@@ -0,0 +1,129 @@
+# SPDX-License-Identifier: GPL-2.0+
+# Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
+
+"""Create script test disk images"""
+
+import os
+
+import utils
+from fs_helper import DiskHelper, FsHelper
+from img.common import mkdir_cond
+
+
+def setup_script_image(ubman):
+    """Create a 20MB disk image for the script bootmeth
+
+    This is modelled on Armbian 22.08 Jammy
+    """
+    mmc_dev = 4
+
+    script = '''# DO NOT EDIT THIS FILE
+#
+# Please edit /boot/armbianEnv.txt to set supported parameters
+#
+
+setenv load_addr "0x9000000"
+setenv overlay_error "false"
+# default values
+setenv rootdev "/dev/mmcblk%dp1"
+setenv verbosity "1"
+setenv console "both"
+setenv bootlogo "false"
+setenv rootfstype "ext4"
+setenv docker_optimizations "on"
+setenv earlycon "off"
+
+echo "Boot script loaded from ${devtype} ${devnum}"
+
+if test -e ${devtype} ${devnum} ${prefix}armbianEnv.txt; then
+       load ${devtype} ${devnum} ${load_addr} ${prefix}armbianEnv.txt
+       env import -t ${load_addr} ${filesize}
+fi
+
+if test "${logo}" = "disabled"; then setenv logo "logo.nologo"; fi
+
+if test "${console}" = "display" || test "${console}" = "both"; then setenv 
consoleargs "console=tty1"; fi
+if test "${console}" = "serial" || test "${console}" = "both"; then setenv 
consoleargs "console=ttyS2,1500000 ${consoleargs}"; fi
+if test "${earlycon}" = "on"; then setenv consoleargs "earlycon 
${consoleargs}"; fi
+if test "${bootlogo}" = "true"; then setenv consoleargs 
"bootsplash.bootfile=bootsplash.armbian ${consoleargs}"; fi
+
+# get PARTUUID of first partition on SD/eMMC the boot script was loaded from
+if test "${devtype}" = "mmc"; then part uuid mmc ${devnum}:1 partuuid; fi
+
+setenv bootargs "root=${rootdev} rootwait rootfstype=${rootfstype} 
${consoleargs} consoleblank=0 loglevel=${verbosity} ubootpart=${partuuid} 
usb-storage.quirks=${usbstoragequirks} ${extraargs} ${extraboardargs}"
+
+if test "${docker_optimizations}" = "on"; then setenv bootargs "${bootargs} 
cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1"; fi
+
+load ${devtype} ${devnum} ${ramdisk_addr_r} ${prefix}uInitrd
+load ${devtype} ${devnum} ${kernel_addr_r} ${prefix}Image
+
+load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}dtb/${fdtfile}
+fdt addr ${fdt_addr_r}
+fdt resize 65536
+for overlay_file in ${overlays}; do
+       if load ${devtype} ${devnum} ${load_addr} 
${prefix}dtb/rockchip/overlay/${overlay_prefix}-${overlay_file}.dtbo; then
+               echo "Applying kernel provided DT overlay 
${overlay_prefix}-${overlay_file}.dtbo"
+               fdt apply ${load_addr} || setenv overlay_error "true"
+       fi
+done
+for overlay_file in ${user_overlays}; do
+       if load ${devtype} ${devnum} ${load_addr} 
${prefix}overlay-user/${overlay_file}.dtbo; then
+               echo "Applying user provided DT overlay ${overlay_file}.dtbo"
+               fdt apply ${load_addr} || setenv overlay_error "true"
+       fi
+done
+if test "${overlay_error}" = "true"; then
+       echo "Error applying DT overlays, restoring original DT"
+       load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}dtb/${fdtfile}
+else
+       if load ${devtype} ${devnum} ${load_addr} 
${prefix}dtb/rockchip/overlay/${overlay_prefix}-fixup.scr; then
+               echo "Applying kernel provided DT fixup script 
(${overlay_prefix}-fixup.scr)"
+               source ${load_addr}
+       fi
+       if test -e ${devtype} ${devnum} ${prefix}fixup.scr; then
+               load ${devtype} ${devnum} ${load_addr} ${prefix}fixup.scr
+               echo "Applying user provided fixup script (fixup.scr)"
+               source ${load_addr}
+       fi
+fi
+booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}
+
+# Recompile with:
+# mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr
+'''
+    fsh = FsHelper(ubman.config, 'ext4', 18, 'mmc')
+    fsh.setup()
+    bootdir = os.path.join(fsh.srcdir, 'boot')
+    mkdir_cond(bootdir)
+    cmd_fname = os.path.join(bootdir, 'boot.cmd')
+    scr_fname = os.path.join(bootdir, 'boot.scr')
+    with open(cmd_fname, 'w', encoding='ascii') as outf:
+        print(script, file=outf)
+
+    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(
+        ubman,
+        ['sh', '-c', f'xz -dc {infname} >{bmp_file}'])
+
+    mkimage = ubman.config.build_dir + '/tools/mkimage'
+    utils.run_and_log(
+        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)
+    with open(target, 'wb') as outf:
+        print('kernel', outf)
+
+    symlink = os.path.join(bootdir, 'Image')
+    if os.path.exists(symlink):
+        os.remove(symlink)
+    utils.run_and_log(
+        ubman, f'echo here {kernel} {symlink}')
+    os.symlink(kernel, symlink)
+    fsh.mk_fs()
+    img = DiskHelper(ubman.config, mmc_dev, 'mmc', True)
+    img.add_fs(fsh, DiskHelper.EXT4)
+    img.create()
+    fsh.cleanup()
diff --git a/test/py/tests/test_ut.py b/test/py/tests/test_ut.py
index fb3064847ff..a23fb6244d6 100644
--- a/test/py/tests/test_ut.py
+++ b/test/py/tests/test_ut.py
@@ -21,125 +21,7 @@ from fs_helper import DiskHelper, FsHelper
 from test_android import test_abootimg
 from img.common import mkdir_cond, copy_partition
 from img.extlinux import setup_extlinux_image
-
-
-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
-
-    script = '''# DO NOT EDIT THIS FILE
-#
-# Please edit /boot/armbianEnv.txt to set supported parameters
-#
-
-setenv load_addr "0x9000000"
-setenv overlay_error "false"
-# default values
-setenv rootdev "/dev/mmcblk%dp1"
-setenv verbosity "1"
-setenv console "both"
-setenv bootlogo "false"
-setenv rootfstype "ext4"
-setenv docker_optimizations "on"
-setenv earlycon "off"
-
-echo "Boot script loaded from ${devtype} ${devnum}"
-
-if test -e ${devtype} ${devnum} ${prefix}armbianEnv.txt; then
-       load ${devtype} ${devnum} ${load_addr} ${prefix}armbianEnv.txt
-       env import -t ${load_addr} ${filesize}
-fi
-
-if test "${logo}" = "disabled"; then setenv logo "logo.nologo"; fi
-
-if test "${console}" = "display" || test "${console}" = "both"; then setenv 
consoleargs "console=tty1"; fi
-if test "${console}" = "serial" || test "${console}" = "both"; then setenv 
consoleargs "console=ttyS2,1500000 ${consoleargs}"; fi
-if test "${earlycon}" = "on"; then setenv consoleargs "earlycon 
${consoleargs}"; fi
-if test "${bootlogo}" = "true"; then setenv consoleargs 
"bootsplash.bootfile=bootsplash.armbian ${consoleargs}"; fi
-
-# get PARTUUID of first partition on SD/eMMC the boot script was loaded from
-if test "${devtype}" = "mmc"; then part uuid mmc ${devnum}:1 partuuid; fi
-
-setenv bootargs "root=${rootdev} rootwait rootfstype=${rootfstype} 
${consoleargs} consoleblank=0 loglevel=${verbosity} ubootpart=${partuuid} 
usb-storage.quirks=${usbstoragequirks} ${extraargs} ${extraboardargs}"
-
-if test "${docker_optimizations}" = "on"; then setenv bootargs "${bootargs} 
cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1"; fi
-
-load ${devtype} ${devnum} ${ramdisk_addr_r} ${prefix}uInitrd
-load ${devtype} ${devnum} ${kernel_addr_r} ${prefix}Image
-
-load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}dtb/${fdtfile}
-fdt addr ${fdt_addr_r}
-fdt resize 65536
-for overlay_file in ${overlays}; do
-       if load ${devtype} ${devnum} ${load_addr} 
${prefix}dtb/rockchip/overlay/${overlay_prefix}-${overlay_file}.dtbo; then
-               echo "Applying kernel provided DT overlay 
${overlay_prefix}-${overlay_file}.dtbo"
-               fdt apply ${load_addr} || setenv overlay_error "true"
-       fi
-done
-for overlay_file in ${user_overlays}; do
-       if load ${devtype} ${devnum} ${load_addr} 
${prefix}overlay-user/${overlay_file}.dtbo; then
-               echo "Applying user provided DT overlay ${overlay_file}.dtbo"
-               fdt apply ${load_addr} || setenv overlay_error "true"
-       fi
-done
-if test "${overlay_error}" = "true"; then
-       echo "Error applying DT overlays, restoring original DT"
-       load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}dtb/${fdtfile}
-else
-       if load ${devtype} ${devnum} ${load_addr} 
${prefix}dtb/rockchip/overlay/${overlay_prefix}-fixup.scr; then
-               echo "Applying kernel provided DT fixup script 
(${overlay_prefix}-fixup.scr)"
-               source ${load_addr}
-       fi
-       if test -e ${devtype} ${devnum} ${prefix}fixup.scr; then
-               load ${devtype} ${devnum} ${load_addr} ${prefix}fixup.scr
-               echo "Applying user provided fixup script (fixup.scr)"
-               source ${load_addr}
-       fi
-fi
-booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}
-
-# Recompile with:
-# mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr
-'''
-    fsh = FsHelper(ubman.config, 'ext4', 18, 'mmc')
-    fsh.setup()
-    bootdir = os.path.join(fsh.srcdir, 'boot')
-    mkdir_cond(bootdir)
-    cmd_fname = os.path.join(bootdir, 'boot.cmd')
-    scr_fname = os.path.join(bootdir, 'boot.scr')
-    with open(cmd_fname, 'w', encoding='ascii') as outf:
-        print(script, file=outf)
-
-    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(
-        ubman,
-        ['sh', '-c', f'xz -dc {infname} >{bmp_file}'])
-
-    mkimage = ubman.config.build_dir + '/tools/mkimage'
-    utils.run_and_log(
-        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)
-    with open(target, 'wb') as outf:
-        print('kernel', outf)
-
-    symlink = os.path.join(bootdir, 'Image')
-    if os.path.exists(symlink):
-        os.remove(symlink)
-    utils.run_and_log(
-        ubman, f'echo here {kernel} {symlink}')
-    os.symlink(kernel, symlink)
-    fsh.mk_fs()
-    img = DiskHelper(ubman.config, mmc_dev, 'mmc', True)
-    img.add_fs(fsh, DiskHelper.EXT4)
-    img.create()
-    fsh.cleanup()
+from img.script import setup_script_image
 
 
 def setup_cros_image(ubman):
@@ -523,7 +405,7 @@ def test_ut_dm_init_bootstd(ubman):
     """Initialise data for bootflow tests"""
 
     setup_extlinux_image(ubman, 1, 'mmc')
-    setup_bootmenu_image(ubman)
+    setup_script_image(ubman)
     setup_cedit_file(ubman)
     setup_cros_image(ubman)
     setup_android_image(ubman)
-- 
2.43.0

Reply via email to