On Wed, 8 Oct 2025 at 08:50, Tom Rini <[email protected]> wrote: > > On Wed, Oct 08, 2025 at 08:57:30AM +0200, Martin Schwan wrote: > > > Add a simple unit test for testing the RAUC bootmethod. Provide only the > > very basic tests for now, running a scan and list, to verify correct > > detection of the RAUC bootmethod. More advanced boot tests of this > > bootmethod can be added in a separate patch. > > > > This requires another mmc image (mmc9) to contain the following > > partitions: > > > > 1. boot A: contains a dummy boot.scr > > 2. root A: contains an empty root filesystem > > 3. boot B: contains a dummy boot.scr > > 4. root B: contains an empty root filesystem > > > > The bootmeth_rauc scans all four partitions for existence and expects a > > boot script in each boot partition. > > > > Also add BOOTMETH_RAUC as a dependency on sandbox so that we can test > > this with: > > > > $ ./test/py/test.py -B sandbox --build -k test_ut # build the mmc9.img > > $ ./test/py/test.py -B sandbox --build -k bootflow_rauc > > > > Signed-off-by: Martin Schwan <[email protected]> > > I'm glad to see the tests. A question: > > [snip] > > + # Generate boot script > > + script = '# dummy boot script' > > + bootdir = os.path.join(mnt, 'boot') > > + utils.run_and_log(ubman, f'mkdir -p {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) > > + > > + mkimage = os.path.join(ubman.config.build_dir, 'tools/mkimage') > > + utils.run_and_log( > > + ubman, f'{mkimage} -C none -A arm -T script -d {cmd_fname} > > {scr_fname}') > > + > > + # Create boot filesystem image with boot script in it and copy to disk > > image > > + fsfile = 'rauc_boot.img' > > + utils.run_and_log(ubman, f'fallocate -l 8M {fsfile}') > > + utils.run_and_log(ubman, f'mkfs.vfat {fsfile}') > > + utils.run_and_log(ubman, ['sh', '-c', f'mcopy -vs -i {fsfile} > > {scr_fname} ::/']) > > + utils.run_and_log(ubman, f'dd if={fsfile} of=mmc{mmc_dev}.img bs=1M > > seek=1 conv=notrunc') > > + utils.run_and_log(ubman, f'dd if={fsfile} of=mmc{mmc_dev}.img bs=1M > > seek=19 conv=notrunc') > > + utils.run_and_log(ubman, f'rm -f {fsfile} {cmd_fname} {scr_fname}') > > + > > + # Create empty root filesystem image and copy to disk image > > + fsfile = 'rauc_root.img' > > + utils.run_and_log(ubman, f'fallocate -l 10M {fsfile}') > > + utils.run_and_log(ubman, f'mkfs.vfat {fsfile}') > > + utils.run_and_log(ubman, f'dd if={fsfile} of=mmc{mmc_dev}.img bs=1M > > seek=9 conv=notrunc') > > + utils.run_and_log(ubman, f'dd if={fsfile} of=mmc{mmc_dev}.img bs=1M > > seek=27 conv=notrunc') > > + utils.run_and_log(ubman, f'rm -f {fsfile}') > > Can we use mk_fs from test/py/tests/fs_helper.py for this part? I know > we can't use setup_image without further changes to allow for 'spec' to > be passed (which may or may not be worth doing, I'm not sure) but I > think we can use mk_fs here? Thanks.
+1 Other than that: Reviewed-by: Simon Glass <[email protected]> and thanks for doing it. Regards, Simon

