77
88import pytest
99
10- from dissect .hypervisor .disk .c_vmdk import c_vmdk
1110from dissect .hypervisor .disk .vmdk import VMDK , DiskDescriptor , ExtentDescriptor , SESparseExtent , open_parent
1211from tests ._util import absolute_path
1312
@@ -24,7 +23,10 @@ def mock_open_gz(self: Path, *args, **kwargs) -> BinaryIO:
2423 pytest .param ("_data/disk/vmdk/split-flat.vmdk.gz" , id = "split-flat" ),
2524 pytest .param ("_data/disk/vmdk/split-sparse.vmdk.gz" , id = "split-sparse" ),
2625 pytest .param ("_data/disk/vmdk/stream.vmdk.gz" , id = "stream" ),
26+ # COWD test data was manually created
2727 pytest .param ("_data/disk/vmdk/cowd.vmdk.gz" , id = "cowd" ),
28+ # SESparse test data was manually created
29+ pytest .param ("_data/disk/vmdk/sesparse.vmdk.gz" , id = "sesparse" ),
2830 ],
2931)
3032def test_vmdk (path : str ) -> None :
@@ -44,25 +46,6 @@ def test_vmdk(path: str) -> None:
4446 assert stream .read () == b""
4547
4648
47- def test_vmdk_sesparse () -> None :
48- # TODO: Recreate test data with new test pattern
49- with gzip .open (absolute_path ("_data/disk/vmdk/sesparse.vmdk.gz" ), "rb" ) as fh :
50- vmdk = VMDK (fh )
51-
52- extent = vmdk .extents [0 ]
53- assert isinstance (extent , SESparseExtent )
54-
55- assert extent .header .constMagic == c_vmdk .SESPARSE_CONST_HEADER_MAGIC
56- assert extent .header .version == 0x200000001
57-
58- assert extent ._num_gte_per_gt == 0x1000
59- assert len (extent ._gd ) == 0x20000
60- assert extent ._gd [0 ] == 0x1000000000000000
61-
62- stream = vmdk .open ()
63- assert stream .read (0x1000000 ) == b"a" * 0x1000000
64-
65-
6649@pytest .mark .parametrize (
6750 ("raw" , "expected_extents" ),
6851 [
0 commit comments