mirror of
https://github.com/u-boot/u-boot.git
synced 2024-12-13 06:43:29 +08:00
test/py: Use loop mounts if guestmount fails in filesystem tests
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 <alpernebiyasak@gmail.com>
This commit is contained in:
parent
f1eb346e33
commit
8f5f5d3a45
@ -209,24 +209,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):
|
||||
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.
|
||||
|
Loading…
Reference in New Issue
Block a user