mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-05-04 20:26:13 +02:00
test: fs_helper: Add a quiet flag to mk_fs()
In many cases callers only want to see warnings and errors from the filesystem-creation tools, not their normal output. Add a quiet parameter to mk_fs() that suppresses the output of mkfs and switches mcopy from verbose to quiet mode. Signed-off-by: Simon Glass <simon.glass@canonical.com> Reviewed-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
parent
fade4112da
commit
23e9906192
@ -8,9 +8,10 @@
|
||||
import re
|
||||
import os
|
||||
from subprocess import call, check_call, check_output, CalledProcessError
|
||||
from subprocess import DEVNULL
|
||||
|
||||
def mk_fs(config, fs_type, size, prefix, src_dir=None, size_gran = 0x100000,
|
||||
fs_img=None):
|
||||
fs_img=None, quiet=False):
|
||||
"""Create a file system volume
|
||||
|
||||
Args:
|
||||
@ -23,6 +24,7 @@ def mk_fs(config, fs_type, size, prefix, src_dir=None, size_gran = 0x100000,
|
||||
fs_img (str or None): Leaf filename for image, or None to use a
|
||||
default name. The image is always placed under
|
||||
persistent_data_dir.
|
||||
quiet (bool): Suppress non-error output
|
||||
|
||||
Raises:
|
||||
CalledProcessError: if any error occurs when creating the filesystem
|
||||
@ -63,14 +65,17 @@ def mk_fs(config, fs_type, size, prefix, src_dir=None, size_gran = 0x100000,
|
||||
check_call(f'rm -f {fs_img}', shell=True)
|
||||
check_call(f'truncate -s $(( {size_gran} * {count} )) {fs_img}',
|
||||
shell=True)
|
||||
check_call(f'mkfs.{fs_lnxtype} {mkfs_opt} {fs_img}', shell=True)
|
||||
check_call(f'mkfs.{fs_lnxtype} {mkfs_opt} {fs_img}', shell=True,
|
||||
stdout=DEVNULL if quiet else None)
|
||||
if fs_type == 'ext4':
|
||||
sb_content = check_output(f'tune2fs -l {fs_img}',
|
||||
shell=True).decode()
|
||||
if 'metadata_csum' in sb_content:
|
||||
check_call(f'tune2fs -O ^metadata_csum {fs_img}', shell=True)
|
||||
elif fs_lnxtype == 'vfat' and src_dir:
|
||||
check_call(f'mcopy -i {fs_img} -vsmpQ {src_dir}/* ::/', shell=True)
|
||||
flags = f"-smpQ{'' if quiet else 'v'}"
|
||||
check_call(f'mcopy -i {fs_img} {flags} {src_dir}/* ::/',
|
||||
shell=True)
|
||||
elif fs_lnxtype == 'exfat' and src_dir:
|
||||
check_call(f'fattools cp {src_dir}/* {fs_img}', shell=True)
|
||||
return fs_img
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user