From 7cbb57321e632d966fad3f29f93689e9fc7cdc37 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sat, 29 Oct 2022 19:47:06 -0600 Subject: [PATCH] test: Correct pylint warnings in fs_helper Tidy this up so that pylint is happy. Use hex for the 1MB size and make sure it is not a floating-point value. Add a little main program to allow the code to be tried out, since at present is only called from a long-running test. Signed-off-by: Simon Glass --- test/py/tests/fs_helper.py | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/test/py/tests/fs_helper.py b/test/py/tests/fs_helper.py index 2d8f1f63ad..9882ddb1da 100644 --- a/test/py/tests/fs_helper.py +++ b/test/py/tests/fs_helper.py @@ -1,10 +1,10 @@ # SPDX-License-Identifier: GPL-2.0+ # -# Helper functions for dealing with filesystems -# # Copyright (c) 2018, Linaro Limited # Author: Takahiro Akashi +"""Helper functions for dealing with filesystems""" + import re import os from subprocess import call, check_call, check_output, CalledProcessError @@ -13,12 +13,16 @@ def mk_fs(config, fs_type, size, prefix): """Create a file system volume Args: + config (u_boot_config): U-Boot configuration fs_type (str): File system type, e.g. 'ext4' size (int): Size of file system in bytes prefix (str): Prefix string of volume's file name + + Raises: + CalledProcessError: if any error occurs when creating the filesystem """ - fs_img = '%s.%s.img' % (prefix, fs_type) - fs_img = config.persistent_data_dir + '/' + fs_img + fs_img = f'{prefix}.{fs_type}.img' + fs_img = os.path.join(config.persistent_data_dir, fs_img) if fs_type == 'fat16': mkfs_opt = '-F 16' @@ -32,23 +36,31 @@ def mk_fs(config, fs_type, size, prefix): else: fs_lnxtype = fs_type - count = (size + 1048576 - 1) / 1048576 + count = (size + 0x100000 - 1) // 0x100000 # Some distributions do not add /sbin to the default PATH, where mkfs lives if '/sbin' not in os.environ["PATH"].split(os.pathsep): os.environ["PATH"] += os.pathsep + '/sbin' try: - check_call('rm -f %s' % fs_img, shell=True) - check_call('dd if=/dev/zero of=%s bs=1M count=%d' - % (fs_img, count), shell=True) - check_call('mkfs.%s %s %s' - % (fs_lnxtype, mkfs_opt, fs_img), shell=True) + check_call(f'rm -f {fs_img}', shell=True) + check_call(f'dd if=/dev/zero of={fs_img} bs=1M count={count}', + shell=True) + check_call(f'mkfs.{fs_lnxtype} {mkfs_opt} {fs_img}', shell=True) if fs_type == 'ext4': - sb_content = check_output('tune2fs -l %s' % fs_img, shell=True).decode() + sb_content = check_output(f'tune2fs -l {fs_img}', + shell=True).decode() if 'metadata_csum' in sb_content: - check_call('tune2fs -O ^metadata_csum %s' % fs_img, shell=True) + check_call(f'tune2fs -O ^metadata_csum {fs_img}', shell=True) return fs_img except CalledProcessError: - call('rm -f %s' % fs_img, shell=True) + call(f'rm -f {fs_img}', shell=True) raise + +# Just for trying out +if __name__ == "__main__": + import collections + + CNF= collections.namedtuple('config', 'persistent_data_dir') + + mk_fs(CNF('.'), 'ext4', 0x1000000, 'pref') -- 2.39.5