diff --git a/test/functional/tests/lazy_writes/recovery/recovery_tests_methods.py b/test/functional/tests/lazy_writes/recovery/recovery_tests_methods.py index ceaf71e..174b2f2 100644 --- a/test/functional/tests/lazy_writes/recovery/recovery_tests_methods.py +++ b/test/functional/tests/lazy_writes/recovery/recovery_tests_methods.py @@ -28,9 +28,7 @@ def copy_file(source, target, size, direct=None): dd.run() -def compare_files(file1, file2, should_differ=False): - file1_md5 = file1.md5sum() - file2_md5 = file2.md5sum() +def compare_files(file1_md5, file2_md5, should_differ=False): if should_differ ^ (file1_md5 != file2_md5): if should_differ: TestRun.fail("Source and target file checksums are identical.") diff --git a/test/functional/tests/lazy_writes/recovery/test_recovery_flush_reset.py b/test/functional/tests/lazy_writes/recovery/test_recovery_flush_reset.py index be5f7b7..d3f339a 100644 --- a/test/functional/tests/lazy_writes/recovery/test_recovery_flush_reset.py +++ b/test/functional/tests/lazy_writes/recovery/test_recovery_flush_reset.py @@ -9,7 +9,6 @@ from api.cas import casadm, cli from api.cas.cache_config import CacheMode, CacheModeTrait, CleaningPolicy, SeqCutOffPolicy from core.test_run import TestRun from storage_devices.disk import DiskTypeSet, DiskType, DiskTypeLowerThan -from test_tools.dd import Dd from test_tools.disk_utils import Filesystem from test_tools.fs_utils import readlink from test_utils import os_utils @@ -47,6 +46,7 @@ def test_recovery_flush_reset_raw(cache_mode): with TestRun.step("Create test files."): source_file, target_file = create_test_files(test_file_size) + source_file_md5 = source_file.md5sum() with TestRun.step("Setup cache and add core."): cache = casadm.start_cache(cache_device, cache_mode) @@ -74,7 +74,8 @@ def test_recovery_flush_reset_raw(cache_mode): "before restart."): copy_file(source=readlink(core_device.path), target=target_file.full_path, size=test_file_size, direct="iflag") - compare_files(source_file, target_file, should_differ=True) + target_file_md5 = target_file.md5sum() + compare_files(source_file_md5, target_file_md5, should_differ=True) with TestRun.step("Load cache."): cache = casadm.load_cache(cache_device) @@ -91,11 +92,16 @@ def test_recovery_flush_reset_raw(cache_mode): "Compare it with the first version – they should be the same."): copy_file(source=readlink(core_device.path), target=target_file.full_path, size=test_file_size, direct="iflag") - compare_files(source_file, target_file) + target_file_md5 = target_file.md5sum() + compare_files(source_file_md5, target_file_md5) with TestRun.step("Cleanup core device and remove test files."): - target_file.remove() - source_file.remove() + try: + target_file.remove() + source_file.remove() + except Exception: + # On some OSes files at /tmp location are automatically removed after DUT hard reset + pass @pytest.mark.require_disk("cache", DiskTypeSet([DiskType.optane, DiskType.nand])) @@ -126,6 +132,7 @@ def test_recovery_flush_reset_fs(cache_mode, fs): with TestRun.step("Create test files."): source_file, target_file = create_test_files(test_file_size) + source_file_md5 = source_file.md5sum() with TestRun.step("Setup cache and add core."): cache = casadm.start_cache(cache_device, cache_mode) @@ -170,10 +177,15 @@ def test_recovery_flush_reset_fs(cache_mode, fs): copy_file(source=os.path.join(mount_point, "source_test_file"), target=target_file.full_path, size=test_file_size, direct="iflag") - compare_files(source_file, target_file) + target_file_md5 = target_file.md5sum() + compare_files(source_file_md5, target_file_md5) with TestRun.step("Unmount core device and remove test files."): core_device.unmount() - target_file.remove() - source_file.remove() + try: + target_file.remove() + source_file.remove() + except Exception: + # On some OSes files at /tmp location are automatically removed after DUT hard reset + pass Udev.enable() diff --git a/test/functional/tests/lazy_writes/recovery/test_recovery_unplug.py b/test/functional/tests/lazy_writes/recovery/test_recovery_unplug.py index e935476..d5df969 100644 --- a/test/functional/tests/lazy_writes/recovery/test_recovery_unplug.py +++ b/test/functional/tests/lazy_writes/recovery/test_recovery_unplug.py @@ -9,7 +9,6 @@ from api.cas import casadm from api.cas.cache_config import CacheMode, CacheModeTrait, CacheLineSize from core.test_run import TestRun from storage_devices.disk import DiskTypeSet, DiskType, DiskTypeLowerThan -from test_tools.dd import Dd from test_tools.disk_utils import Filesystem from test_utils.size import Size, Unit from tests.lazy_writes.recovery.recovery_tests_methods import create_test_files, copy_file, \ @@ -47,6 +46,7 @@ def test_recovery_unplug_cache_fs(cache_mode, cls, filesystem, direct): with TestRun.step("Create test files."): source_file, target_file = create_test_files(test_file_size) + source_file_md5 = source_file.md5sum() with TestRun.step("Create filesystem on core device."): core_device.create_filesystem(filesystem) @@ -92,12 +92,17 @@ def test_recovery_unplug_cache_fs(cache_mode, cls, filesystem, direct): with TestRun.step("Copy file from core device and check md5sum."): copy_file(source=test_file_path, target=target_file.full_path, size=test_file_size, direct="iflag" if direct else None) - compare_files(source_file, target_file) + target_file_md5 = target_file.md5sum() + compare_files(source_file_md5, target_file_md5) with TestRun.step("Unmount core device and remove files."): core_device.unmount() - target_file.remove() - source_file.remove() + try: + target_file.remove() + source_file.remove() + except Exception: + # On some OSes files at /tmp location are automatically removed after DUT hard reset + pass @pytest.mark.require_disk("cache", DiskTypeSet([DiskType.optane, DiskType.nand])) @@ -125,6 +130,7 @@ def test_recovery_unplug_cache_raw(cache_mode, cls): with TestRun.step("Create test files."): source_file, target_file = create_test_files(test_file_size) + source_file_md5 = source_file.md5sum() with TestRun.step("Start cache and add core."): cache = casadm.start_cache(cache_device, cache_mode, cls) @@ -158,8 +164,13 @@ def test_recovery_unplug_cache_raw(cache_mode, cls): with TestRun.step("Copy file from core device and check md5sum."): copy_file(source=core_device.path, target=target_file.full_path, size=test_file_size, direct="iflag") - compare_files(source_file, target_file) + target_file_md5 = target_file.md5sum() + compare_files(source_file_md5, target_file_md5) with TestRun.step("Cleanup core device and remove test files."): - target_file.remove() - source_file.remove() + try: + target_file.remove() + source_file.remove() + except Exception: + # On some OSes files at /tmp location are automatically removed after DUT hard reset + pass