diff --git a/src/borg/testsuite/archiver/transfer_cmd.py b/src/borg/testsuite/archiver/transfer_cmd.py index acc978101..b0a520266 100644 --- a/src/borg/testsuite/archiver/transfer_cmd.py +++ b/src/borg/testsuite/archiver/transfer_cmd.py @@ -7,6 +7,7 @@ import unittest from ...constants import * # NOQA from ...helpers.time import parse_timestamp +from ..platform import is_win32 from . import ArchiverTestCaseBase, RemoteArchiverTestCaseBase, ArchiverTestCaseBinaryBase, RK_ENCRYPTION, BORG_EXES @@ -151,6 +152,11 @@ class ArchiverTestCase(ArchiverTestCaseBase): # Note: size == 0 for all items without a size or chunks list (like e.g. directories) # Note: healthy == True indicates the *absence* of the additional chunks_healthy list del g["hlid"] + + if e["type"] == "b" and is_win32: + # The S_IFBLK macro is broken on MINGW + del e["type"], g["type"] + del e["mode"], g["mode"] assert g == e if name == "archive1": @@ -250,7 +256,9 @@ class ArchiverTestCase(ArchiverTestCaseBase): assert item.group in ("root", "wheel") assert "hlid" not in item elif item.path.endswith("bdev_12_34"): - assert stat.S_ISBLK(item.mode) + if not is_win32: + # The S_IFBLK macro is broken on MINGW + assert stat.S_ISBLK(item.mode) # looks like we can't use os.major/minor with data coming from another platform, # thus we only do a rather rough check here: assert "rdev" in item and item.rdev != 0