u-boot/test/py/tests
Alper Nebi Yasak 77bfaad048 test: Fix filesystem tests always being skipped
Commit 1ba21bb06b ("test: Don't unmount not (yet) mounted system")
fixes an issue in the filesystem tests where the test setup may fail
to mount an image and still attempt to unmount it. However, the commit
unintentionally breaks the test setups in two ways.

The newly created unmounted filesystem images are being immediately
deleted due to some cleanup steps being misplaced into finally blocks,
which makes them always run instead of only on failures. The mount calls
always fail since the images never exist, causing the tests to be always
skipped. This patch moves these cleanup calls into the except blocks to
fix this and makes the tests run again.

There are also unmount calls misplaced into finally blocks, making them
run after the tests instead of before the tests. These unmount calls
make the filesystem image file consistent with the changes made to it as
part of the test setup, and this misplacement is making a number of
tests fail unexpectedly.

The unmount calls must be run before the tests use the image, meaning
before the yield call and not in the finally block. They must also be
run as a cleanup step when the filesystem setup fails, so they can't be
placed as the final call in the try blocks since they would be skipped
on such failures. For these reasons, this patch places the unmount calls
both in the except blocks and the else blocks of the final setup step.
This makes the unexpectedly failing tests to succeed again.

Furthermore, this isolates the mount calls to their own try-except
statement to avoid reintroducing the original issue of unmounting a
not-mounted image while fixing the unmount misplacement.

After these fixes, running "make tests" with guestmount available results
in two test failures not related to the mentioned commit. If the
guestmount executables are unavailable, the mounts fallback to using
sudo and result in no failures.

Fixes: 1ba21bb06b ("test: Don't unmount not (yet) mounted system")
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
2021-05-26 17:26:07 -04:00
..
test_android test/py: android: Add test for abootimg 2020-02-04 09:07:24 +05:30
test_efi_capsule test/py: Fix efidebug related tests 2021-04-24 06:53:40 +02:00
test_efi_secboot test/py: Fix efidebug related tests 2021-04-24 06:53:40 +02:00
test_fs test: Fix filesystem tests always being skipped 2021-05-26 17:26:07 -04:00
vboot pytest: vboot: add a test for required key 2019-10-15 08:40:02 -06:00
test_000_version.py SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
test_bind.py test/py: allow multi-digit index in in_tree() 2020-09-30 11:55:23 -04:00
test_button.py cmd/button: return button status 2020-10-14 11:16:34 -04:00
test_dfu.py test: Use single quote consistently 2019-01-15 15:28:41 -05:00
test_dm.py cmd: dm: Fixed/Added DM driver listing subcommands 2020-07-07 15:37:13 -04:00
test_efi_fit.py efi_loader: use logging for bootefi command 2020-07-22 12:32:42 +02:00
test_efi_loader.py test: do not rely on => being the prompt 2020-07-31 08:44:41 -04:00
test_efi_selftest.py test/py: serial# cannot be overwritten on some devices 2020-08-08 08:31:39 -04:00
test_env.py test: Include /sbin to the PATH when creating ext4 disk image 2021-03-17 12:50:19 -04:00
test_extension.py pytest: add sandbox test for "extension" command 2021-05-13 13:09:09 -04:00
test_fit.py fit: Don't allow verification of images with @ nodes 2021-02-15 19:17:25 -05:00
test_fit_ecdsa.py test/py: ecdsa: Use mkimage keyfile instead of keydir argument 2021-04-14 15:23:01 -04:00
test_fpga.py test/py: Automated conversion to Python 3 2019-10-30 17:48:47 -04:00
test_gpio.py cmd: gpio: Make gpio input return pin value again 2020-03-13 09:30:30 -04:00
test_gpt.py test/py: gpt: Use long options for sgdisk 2019-07-18 11:31:26 -04:00
test_handoff.py test: Fix the boardspec for the SPL handoff test 2020-01-02 10:27:23 -05:00
test_help.py SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
test_hush_if_test.py test/py: hush_if_test: Add tests to cover octal/hex values 2020-01-14 09:05:54 +01:00
test_log.py sandbox: Drop the 'starting...' message 2021-03-12 09:57:29 -05:00
test_lsblk.py cmd: blkls: Add blkls command 2020-07-07 15:37:13 -04:00
test_md.py SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
test_mmc_rd.py test/py: mmc: Fix 'mmc info' testcase 2020-03-27 15:42:04 -04:00
test_mmc_wr.py test/py: Automated conversion to Python 3 2019-10-30 17:48:47 -04:00
test_net.py test/py: use default load address for tftp 2019-02-12 07:19:24 -05:00
test_ofplatdata.py test: Re-enable test_ofplatdata 2021-03-12 09:57:29 -05:00
test_part.py cmd: part: Add subcommand to list supported partition tables 2020-07-07 15:22:42 -04:00
test_pinmux.py test: pinmux: Add test for pin muxing 2020-10-08 11:42:36 -04:00
test_pstore.py test: Add PStore command tests 2020-10-14 11:16:34 -04:00
test_pstore_data_console.hex test: Add PStore command tests 2020-10-14 11:16:34 -04:00
test_pstore_data_panic1.hex test: Add PStore command tests 2020-10-14 11:16:34 -04:00
test_pstore_data_panic2.hex test: Add PStore command tests 2020-10-14 11:16:34 -04:00
test_qfw.py test: qemu: add qfw sandbox driver, dm tests, qemu tests 2021-04-12 17:45:39 -04:00
test_sandbox_exit.py test: unit test for exception command 2020-12-13 07:58:17 -07:00
test_scp03.py test: py: add initial coverage for scp03 cmd 2021-03-14 11:50:16 -04:00
test_sf.py SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
test_shell_basics.py test: py: test_shell_run() with CONFIG_HUSH_PARSER=n 2020-08-07 22:31:32 -04:00
test_sleep.py test_sleep.py: make sleep time and margin configurable 2020-07-07 18:23:48 -04:00
test_spl.py test: Run only the selected SPL test 2020-10-29 14:42:18 -06:00
test_stackprotector.py Add support for stack-protector 2021-04-20 07:31:12 -04:00
test_tpm2.py test/py: tpm2: switch from 'tpm' to 'tpm2' command 2018-07-28 11:58:08 -04:00
test_ums.py test: Use single quote consistently 2019-01-15 15:28:41 -05:00
test_unknown_cmd.py SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
test_ut.py test: describe naming conventions for macro UNIT_TEST 2020-05-08 18:29:13 -04:00
test_vboot.py image: Check for unit addresses in FITs 2021-02-15 22:31:54 -05:00
vboot_evil.py test: Add vboot_evil implementation 2021-02-15 19:17:29 -05:00
vboot_forge.py fit: Don't allow verification of images with @ nodes 2021-02-15 19:17:25 -05:00