[PATCH v1 1/1] test: fs: Use shared generate_file from utils
Aristo Chen
aristo.chen at canonical.com
Mon May 11 10:58:50 CEST 2026
test_fs/test_erofs.py and test_fs/test_squashfs/sqfs_common.py both
defined a generate_file() helper that writes a file of a given size
filled with 'x'. The two functions were functionally identical and
differed only in parameter names and docstrings.
Move the helper into the existing test/py/utils.py module, which is
the established home for generic test utilities (md5sum_file,
PersistentRandomFile, attempt_to_open_file). Update both call sites
to use it.
Signed-off-by: Aristo Chen <aristo.chen at canonical.com>
---
test/py/tests/test_fs/test_erofs.py | 16 ++++----------
.../test_fs/test_squashfs/sqfs_common.py | 22 +++++--------------
test/py/utils.py | 13 +++++++++++
3 files changed, 22 insertions(+), 29 deletions(-)
diff --git a/test/py/tests/test_fs/test_erofs.py b/test/py/tests/test_fs/test_erofs.py
index a2bb6b505f2..cec803256ac 100644
--- a/test/py/tests/test_fs/test_erofs.py
+++ b/test/py/tests/test_fs/test_erofs.py
@@ -6,19 +6,11 @@ import os
import pytest
import shutil
import subprocess
+import utils
EROFS_SRC_DIR = 'erofs_src_dir'
EROFS_IMAGE_NAME = 'erofs.img'
-def generate_file(name, size):
- """
- Generates a file filled with 'x'.
- """
- content = 'x' * size
- file = open(name, 'w')
- file.write(content)
- file.close()
-
def make_erofs_image(build_dir):
"""
Makes the EROFS images used for the test.
@@ -36,15 +28,15 @@ def make_erofs_image(build_dir):
os.makedirs(root)
# 4096: uncompressed file
- generate_file(os.path.join(root, 'f4096'), 4096)
+ utils.generate_file(os.path.join(root, 'f4096'), 4096)
# 7812: Compressed file
- generate_file(os.path.join(root, 'f7812'), 7812)
+ utils.generate_file(os.path.join(root, 'f7812'), 7812)
# sub-directory with a single file inside
subdir_path = os.path.join(root, 'subdir')
os.makedirs(subdir_path)
- generate_file(os.path.join(subdir_path, 'subdir-file'), 100)
+ utils.generate_file(os.path.join(subdir_path, 'subdir-file'), 100)
# symlink
os.symlink('subdir', os.path.join(root, 'symdir'))
diff --git a/test/py/tests/test_fs/test_squashfs/sqfs_common.py b/test/py/tests/test_fs/test_squashfs/sqfs_common.py
index d1621dcce3a..b366bde5f49 100644
--- a/test/py/tests/test_fs/test_squashfs/sqfs_common.py
+++ b/test/py/tests/test_fs/test_squashfs/sqfs_common.py
@@ -5,6 +5,7 @@
import os
import shutil
import subprocess
+import utils
""" standard test images table: Each table item is a key:value pair
representing the output image name and its respective mksquashfs options.
@@ -66,19 +67,6 @@ def init_standard_table():
for key, value in zip(STANDARD_TABLE.keys(), opts_list):
STANDARD_TABLE[key] = value
-def generate_file(file_name, file_size):
- """ Generates a file filled with 'x'.
-
- Args:
- file_name: the file's name.
- file_size: the content's length and therefore the file size.
- """
- content = 'x' * file_size
-
- file = open(file_name, 'w')
- file.write(content)
- file.close()
-
def generate_sqfs_src_dir(build_dir):
""" Generates the source directory used to make the SquashFS images.
@@ -107,20 +95,20 @@ def generate_sqfs_src_dir(build_dir):
# 4096: minimum block size
file_name = 'f4096'
- generate_file(os.path.join(root, file_name), 4096)
+ utils.generate_file(os.path.join(root, file_name), 4096)
# 5096: minimum block size + 1000 chars (fragment)
file_name = 'f5096'
- generate_file(os.path.join(root, file_name), 5096)
+ utils.generate_file(os.path.join(root, file_name), 5096)
# 1000: less than minimum block size (fragment only)
file_name = 'f1000'
- generate_file(os.path.join(root, file_name), 1000)
+ utils.generate_file(os.path.join(root, file_name), 1000)
# sub-directory with a single file inside
subdir_path = os.path.join(root, 'subdir')
os.makedirs(subdir_path)
- generate_file(os.path.join(subdir_path, 'subdir-file'), 100)
+ utils.generate_file(os.path.join(subdir_path, 'subdir-file'), 100)
# symlink (target: sub-directory)
os.symlink('subdir', os.path.join(root, 'sym'))
diff --git a/test/py/utils.py b/test/py/utils.py
index ca80e4b0b0a..e8971502509 100644
--- a/test/py/utils.py
+++ b/test/py/utils.py
@@ -51,6 +51,19 @@ def md5sum_file(fn, max_length=None):
data = fh.read(*params)
return md5sum_data(data)
+def generate_file(file_name, file_size):
+ """ Generates a file filled with 'x'.
+
+ Args:
+ file_name: the file's name.
+ file_size: the content's length and therefore the file size.
+ """
+ content = 'x' * file_size
+
+ file = open(file_name, 'w')
+ file.write(content)
+ file.close()
+
class PersistentRandomFile:
"""Generate and store information about a persistent file containing
random data."""
--
2.43.0
More information about the U-Boot
mailing list