On Fri, 4 Jun 2021 at 13:05, Alper Nebi Yasak <alpernebiya...@gmail.com> wrote: > > If guestmount isn't available on the system, filesystem test setup falls > back to using loop mounts to prepare its disk images. If guestmount is > available but fails to work, the tests are immediately skipped. Instead > of giving up on a guestmount failure, try using loop mounts as an > attempt to keep tests running. > > Also stop checking if guestmount is in PATH, as trying to run a missing > guestmount can now follow the same failure codepath and fall back to > loop mounts anyway. > > Signed-off-by: Alper Nebi Yasak <alpernebiya...@gmail.com> > --- > > test/py/tests/test_fs/conftest.py | 31 +++++++++++++++---------------- > 1 file changed, 15 insertions(+), 16 deletions(-)
https://source.denx.de/u-boot/custodians/u-boot-dm/-/jobs/282788 thoughts below > > diff --git a/test/py/tests/test_fs/conftest.py > b/test/py/tests/test_fs/conftest.py > index 410a675b9714..e3c461635f8e 100644 > --- a/test/py/tests/test_fs/conftest.py > +++ b/test/py/tests/test_fs/conftest.py > @@ -205,24 +205,23 @@ def mount_fs(fs_type, device, mount_point): > """ > global fuse_mounted > > - fuse_mounted = False > try: > - if tool_is_in_path('guestmount'): > - fuse_mounted = True > - check_call('guestmount -a %s -m /dev/sda %s' > - % (device, mount_point), shell=True) > - else: > - mount_opt = 'loop,rw' > - if re.match('fat', fs_type): > - mount_opt += ',umask=0000' > - > - check_call('sudo mount -o %s %s %s' > - % (mount_opt, device, mount_point), shell=True) > - > - # may not be effective for some file systems > - check_call('sudo chmod a+rw %s' % mount_point, shell=True) > + check_call('guestmount -a %s -m /dev/sda %s' > + % (device, mount_point), shell=True) > + fuse_mounted = True > + return > except CalledProcessError: > - raise > + fuse_mounted = False > + > + mount_opt = 'loop,rw' > + if re.match('fat', fs_type): This seems ambiguous. I think you should use: if 'fat' in fs_type: or if fs_type.startswith('fat'): or if fs_type == 'fat': so it is clear what you mean. > + mount_opt += ',umask=0000' > + > + check_call('sudo mount -o %s %s %s' > + % (mount_opt, device, mount_point), shell=True) > + > + # may not be effective for some file systems > + check_call('sudo chmod a+rw %s' % mount_point, shell=True) > > def umount_fs(mount_point): > """Unmount a volume. > -- > 2.32.0.rc2 > Regards, Simon