diff --git a/test_tools/fs_utils.py b/test_tools/fs_utils.py index 40b1b7d..497fb07 100644 --- a/test_tools/fs_utils.py +++ b/test_tools/fs_utils.py @@ -191,6 +191,13 @@ def md5sum(file, binary=True, timeout: timedelta = timedelta(minutes=30)): return output.stdout.split()[0] +def crc32sum(file, timeout: timedelta = timedelta(minutes=30)): + output = TestRun.executor.run(f"crc32 {file}", timeout) + if output.exit_code != 0: + raise Exception(f"crc32 command execution failed! {output.stdout}\n{output.stderr}") + return output.stdout + + # For some reason separators other than '/' don't work when using sed on system paths # This requires escaping '/' in pattern and target string def escape_sed_string(string: str, sed_replace: bool = False): diff --git a/test_utils/filesystem/file.py b/test_utils/filesystem/file.py index 9554222..369b510 100644 --- a/test_utils/filesystem/file.py +++ b/test_utils/filesystem/file.py @@ -23,6 +23,9 @@ class File(FsItem): def md5sum(self, binary=True, timeout: timedelta = timedelta(minutes=30)): return fs_utils.md5sum(str(self), binary, timeout) + def crc32sum(self, timeout: timedelta = timedelta(minutes=30)): + return fs_utils.crc32sum(str(self), timeout) + def read(self): return fs_utils.read_file(str(self))