dissect.volume 3.17.dev3__tar.gz → 3.17.dev4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/PKG-INFO +1 -1
  2. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/disk/partition.py +8 -10
  3. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect.volume.egg-info/PKG-INFO +1 -1
  4. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/disk/test_apm.py +3 -0
  5. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/disk/test_bsd.py +1 -0
  6. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/disk/test_gpt.py +14 -0
  7. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/disk/test_mbr.py +1 -0
  8. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/.git-blame-ignore-revs +0 -0
  9. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/.gitattributes +0 -0
  10. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/COPYRIGHT +0 -0
  11. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/LICENSE +0 -0
  12. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/MANIFEST.in +0 -0
  13. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/README.md +0 -0
  14. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/__init__.py +0 -0
  15. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/ddf/__init__.py +0 -0
  16. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/ddf/c_ddf.py +0 -0
  17. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/ddf/c_ddf.pyi +0 -0
  18. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/ddf/ddf.py +0 -0
  19. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/disk/__init__.py +0 -0
  20. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/disk/disk.py +0 -0
  21. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/disk/schemes/__init__.py +0 -0
  22. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/disk/schemes/apm.py +0 -0
  23. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/disk/schemes/bsd.py +0 -0
  24. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/disk/schemes/gpt.py +0 -0
  25. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/disk/schemes/mbr.py +0 -0
  26. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/dm/__init__.py +0 -0
  27. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/dm/btree.py +0 -0
  28. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/dm/c_dm.py +0 -0
  29. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/dm/c_dm.pyi +0 -0
  30. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/dm/thin.py +0 -0
  31. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/exceptions.py +0 -0
  32. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/ldm.py +0 -0
  33. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/lvm/__init__.py +0 -0
  34. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/lvm/c_lvm2.py +0 -0
  35. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/lvm/c_lvm2.pyi +0 -0
  36. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/lvm/lvm2.py +0 -0
  37. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/lvm/metadata.py +0 -0
  38. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/lvm/physical.py +0 -0
  39. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/md/__init__.py +0 -0
  40. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/md/c_md.py +0 -0
  41. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/md/c_md.pyi +0 -0
  42. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/md/md.py +0 -0
  43. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/raid/__init__.py +0 -0
  44. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/raid/raid.py +0 -0
  45. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/raid/stream.py +0 -0
  46. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/vinum/__init__.py +0 -0
  47. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/vinum/c_vinum.py +0 -0
  48. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/vinum/c_vinum.pyi +0 -0
  49. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/vinum/config.py +0 -0
  50. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/vinum/vinum.py +0 -0
  51. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect/volume/vss.py +0 -0
  52. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect.volume.egg-info/SOURCES.txt +0 -0
  53. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect.volume.egg-info/dependency_links.txt +0 -0
  54. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect.volume.egg-info/requires.txt +0 -0
  55. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/dissect.volume.egg-info/top_level.txt +0 -0
  56. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/pyproject.toml +0 -0
  57. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/setup.cfg +0 -0
  58. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/__init__.py +0 -0
  59. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/ddf/ddf-raid0-1.bin.gz +0 -0
  60. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/ddf/ddf-raid0-2.bin.gz +0 -0
  61. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/ddf/ddf-raid0-3.bin.gz +0 -0
  62. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/ddf/ddf-raid0-raid1-1.bin.gz +0 -0
  63. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/ddf/ddf-raid0-raid1-2.bin.gz +0 -0
  64. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/ddf/ddf-raid1-1.bin.gz +0 -0
  65. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/ddf/ddf-raid1-2.bin.gz +0 -0
  66. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/ddf/ddf-raid10-1.bin.gz +0 -0
  67. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/ddf/ddf-raid10-2.bin.gz +0 -0
  68. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/ddf/ddf-raid10-3.bin.gz +0 -0
  69. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/ddf/ddf-raid10-4.bin.gz +0 -0
  70. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/ddf/ddf-raid4-1.bin.gz +0 -0
  71. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/ddf/ddf-raid4-2.bin.gz +0 -0
  72. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/ddf/ddf-raid5-1.bin.gz +0 -0
  73. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/ddf/ddf-raid5-2.bin.gz +0 -0
  74. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/ddf/ddf-raid5-3.bin.gz +0 -0
  75. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/ddf/ddf-raid6-1.bin.gz +0 -0
  76. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/ddf/ddf-raid6-2.bin.gz +0 -0
  77. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/ddf/ddf-raid6-3.bin.gz +0 -0
  78. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/ddf/ddf-raid6-4.bin.gz +0 -0
  79. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/disk/apm.bin +0 -0
  80. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/disk/bsd.bin +0 -0
  81. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/disk/bsd64.bin.gz +0 -0
  82. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/disk/gpt.bin +0 -0
  83. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/disk/gpt_4k.bin +0 -0
  84. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/disk/gpt_esxi.bin +0 -0
  85. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/disk/gpt_hybrid.bin +0 -0
  86. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/disk/gpt_no_name_xff.bin +0 -0
  87. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/disk/mbr.bin +0 -0
  88. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/dm/dm-thin-data.bin.gz +0 -0
  89. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/dm/dm-thin-empty-data.bin.gz +0 -0
  90. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/dm/dm-thin-empty-metadata.bin.gz +0 -0
  91. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/dm/dm-thin-metadata.bin.gz +0 -0
  92. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/lvm/lvm-mirror-1.bin.gz +0 -0
  93. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/lvm/lvm-mirror-2.bin.gz +0 -0
  94. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/lvm/lvm-thin.bin.gz +0 -0
  95. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/lvm/lvm.bin.gz +0 -0
  96. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/md/md-90-1.bin.gz +0 -0
  97. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/md/md-90-2.bin.gz +0 -0
  98. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/md/md-90-raid1-1.bin.gz +0 -0
  99. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/md/md-90-raid1-2.bin.gz +0 -0
  100. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/md/md-linear-1.bin.gz +0 -0
  101. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/md/md-linear-2.bin.gz +0 -0
  102. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/md/md-raid0-1.bin.gz +0 -0
  103. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/md/md-raid0-2.bin.gz +0 -0
  104. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/md/md-raid0-3.bin.gz +0 -0
  105. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/md/md-raid1-1.bin.gz +0 -0
  106. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/md/md-raid1-2.bin.gz +0 -0
  107. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/md/md-raid10-1.bin.gz +0 -0
  108. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/md/md-raid10-2.bin.gz +0 -0
  109. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/md/md-raid4-1.bin.gz +0 -0
  110. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/md/md-raid4-2.bin.gz +0 -0
  111. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/md/md-raid4-3.bin.gz +0 -0
  112. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/md/md-raid5-1.bin.gz +0 -0
  113. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/md/md-raid5-2.bin.gz +0 -0
  114. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/md/md-raid5-3.bin.gz +0 -0
  115. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/md/md-raid6-1.bin.gz +0 -0
  116. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/md/md-raid6-2.bin.gz +0 -0
  117. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/md/md-raid6-3.bin.gz +0 -0
  118. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/md/md-raid6-4.bin.gz +0 -0
  119. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/vinum/vinum-concat_diska.bin.gz +0 -0
  120. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/vinum/vinum-concat_diskb.bin.gz +0 -0
  121. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/vinum/vinum-mirror_diska.bin.gz +0 -0
  122. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/vinum/vinum-mirror_diskb.bin.gz +0 -0
  123. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/vinum/vinum-raid5_diska.bin.gz +0 -0
  124. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/vinum/vinum-raid5_diskb.bin.gz +0 -0
  125. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/vinum/vinum-raid5_diskc.bin.gz +0 -0
  126. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/vinum/vinum-raid5_diskd.bin.gz +0 -0
  127. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/vinum/vinum-striped_diska.bin.gz +0 -0
  128. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/vinum/vinum-striped_diskb.bin.gz +0 -0
  129. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/vinum/vinum-stripedmirror_diska.bin.gz +0 -0
  130. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/vinum/vinum-stripedmirror_diskb.bin.gz +0 -0
  131. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/vinum/vinum-stripedmirror_diskc.bin.gz +0 -0
  132. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_data/vinum/vinum-stripedmirror_diskd.bin.gz +0 -0
  133. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_docs/Makefile +0 -0
  134. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_docs/__init__.py +0 -0
  135. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_docs/conf.py +0 -0
  136. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/_docs/index.rst +0 -0
  137. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/conftest.py +0 -0
  138. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/ddf/__init__.py +0 -0
  139. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/ddf/test_ddf.py +0 -0
  140. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/disk/__init__.py +0 -0
  141. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/dm/__init__.py +0 -0
  142. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/dm/test_dm.py +0 -0
  143. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/lvm/__init__.py +0 -0
  144. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/lvm/test_lvm.py +0 -0
  145. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/md/__init__.py +0 -0
  146. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/md/test_md.py +0 -0
  147. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/vinum/__init__.py +0 -0
  148. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/vinum/test_config.py +0 -0
  149. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tests/vinum/test_vinum.py +0 -0
  150. {dissect_volume-3.17.dev3 → dissect_volume-3.17.dev4}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dissect.volume
3
- Version: 3.17.dev3
3
+ Version: 3.17.dev4
4
4
  Summary: A Dissect module implementing a parser for different disk volume and partition systems, for example LVM2, GPT and MBR
5
5
  Author-email: Dissect Team <dissect@fox-it.com>
6
6
  License-Expression: AGPL-3.0-or-later
@@ -224,19 +224,17 @@ class Partition:
224
224
  def __repr__(self) -> str:
225
225
  type_str = self.type_str
226
226
 
227
- if isinstance(self.type, int):
228
- type = hex(self.type)
229
- type_key = self.type
230
- elif isinstance(self.type, bytes):
231
- type = UUID(bytes_le=self.type)
232
- type_key = type
233
- elif isinstance(self.type, str):
234
- type_str = self.type
227
+ if type_str is None:
228
+ if isinstance(self.type, int):
229
+ type_str = f"{hex(self.type)} ({PARTITION_TYPES.get(self.type, 'Unknown')})"
230
+ elif isinstance(self.type, UUID):
231
+ type_str = f"{self.type} ({PARTITION_TYPES.get(self.type, 'Unknown')})"
232
+ else:
233
+ type_str = self.type
235
234
 
236
- type_str = type_str or f"{type} ({PARTITION_TYPES.get(type_key, 'Unknown')})"
237
235
  return (
238
236
  f"<Partition number={self.number} offset=0x{self.offset:x} "
239
- f"size=0x{self.size:x} type={type_str} name={self.name!r}>"
237
+ f"size=0x{self.size:x} type={type_str!r} name={self.name!r}>"
240
238
  )
241
239
 
242
240
  def open(self) -> BinaryIO:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dissect.volume
3
- Version: 3.17.dev3
3
+ Version: 3.17.dev4
4
4
  Summary: A Dissect module implementing a parser for different disk volume and partition systems, for example LVM2, GPT and MBR
5
5
  Author-email: Dissect Team <dissect@fox-it.com>
6
6
  License-Expression: AGPL-3.0-or-later
@@ -21,6 +21,9 @@ def test_apm(apm: BinaryIO) -> None:
21
21
  assert d.partitions[0].size == 0x7E00
22
22
  assert d.partitions[0].type == "Apple_partition_map"
23
23
  assert d.partitions[0].name == "Apple"
24
+ assert repr(d.partitions[0]) == (
25
+ "<Partition number=1 offset=0x200 size=0x7e00 type='Apple_partition_map' name='Apple'>"
26
+ )
24
27
 
25
28
  assert d.partitions[1].number == 2
26
29
  assert d.partitions[1].offset == 0x8000
@@ -17,6 +17,7 @@ def test_bsd(bsd: BinaryIO) -> None:
17
17
  assert vs.partitions[0].size == 0x200
18
18
  assert vs.partitions[0].type == 7
19
19
  assert vs.partitions[0].guid is None
20
+ assert repr(vs.partitions[0]) == "<Partition number=1 offset=0x800 size=0x200 type='4.2BSD' name=None>"
20
21
  assert vs.partitions[0].open().read() == b"\x01" * 512
21
22
 
22
23
  assert vs.partitions[1].number == 2
@@ -25,6 +25,9 @@ def test_gpt(gpt: BinaryIO) -> None:
25
25
  assert d.partitions[0].type == UUID("c12a7328-f81f-11d2-ba4b-00a0c93ec93b")
26
26
  assert d.partitions[0].guid == UUID("27d920bc-e414-45e0-9503-2606de7a1056")
27
27
  assert d.partitions[0].name == "EFI System Partition"
28
+ assert repr(d.partitions[0]) == (
29
+ "<Partition number=1 offset=0x5000 size=0xc7ffe00 type='c12a7328-f81f-11d2-ba4b-00a0c93ec93b (EFI System partition)' name='EFI System Partition'>" # noqa: E501
30
+ )
28
31
 
29
32
  assert d.partitions[1].number == 2
30
33
  assert d.partitions[1].offset == 0xC900000
@@ -32,6 +35,9 @@ def test_gpt(gpt: BinaryIO) -> None:
32
35
  assert d.partitions[1].type == UUID("ebd0a0a2-b9e5-4433-87c0-68b6b72699c7")
33
36
  assert d.partitions[1].guid == UUID("a14cecf3-b364-4d6d-a540-e245e6df9d11")
34
37
  assert d.partitions[1].name == ""
38
+ assert repr(d.partitions[1]) == (
39
+ "<Partition number=2 offset=0xc900000 size=0x7465ffe00 type='ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 (Windows Basic data partition)' name=''>" # noqa: E501
40
+ )
35
41
 
36
42
 
37
43
  def test_gpt_invalid(gpt: BinaryIO) -> None:
@@ -54,6 +60,7 @@ def test_hybrid_gpt(gpt_hybrid: BinaryIO) -> None:
54
60
  assert d.partitions[0].type == 0x83
55
61
  assert d.partitions[0].guid is None
56
62
  assert d.partitions[0].name is None
63
+ assert repr(d.partitions[0]) == "<Partition number=1 offset=0x100000 size=0x80200 type='0x83 (Linux)' name=None>"
57
64
 
58
65
  assert d.partitions[1].number == 2
59
66
  assert d.partitions[1].offset == 0x180200
@@ -61,6 +68,7 @@ def test_hybrid_gpt(gpt_hybrid: BinaryIO) -> None:
61
68
  assert d.partitions[1].type == 0x83
62
69
  assert d.partitions[1].guid is None
63
70
  assert d.partitions[1].name is None
71
+ assert repr(d.partitions[1]) == "<Partition number=2 offset=0x180200 size=0x7bc00 type='0x83 (Linux)' name=None>"
64
72
 
65
73
  assert d.partitions[2].number == 1
66
74
  assert d.partitions[2].offset == 0x100000
@@ -68,6 +76,9 @@ def test_hybrid_gpt(gpt_hybrid: BinaryIO) -> None:
68
76
  assert d.partitions[2].type == UUID("0fc63daf-8483-4772-8e79-3d69d8477de4")
69
77
  assert d.partitions[2].guid == UUID("44eea528-8489-4bbc-a480-56bd208cd233")
70
78
  assert d.partitions[2].name == "Linux filesystem"
79
+ assert repr(d.partitions[2]) == (
80
+ "<Partition number=1 offset=0x100000 size=0x80000 type='0fc63daf-8483-4772-8e79-3d69d8477de4 (Linux filesystem data)' name='Linux filesystem'>" # noqa: E501
81
+ )
71
82
 
72
83
  assert d.partitions[3].number == 2
73
84
  assert d.partitions[3].offset == 0x4400
@@ -151,6 +162,9 @@ def test_gpt_esxi(gpt_esxi: BinaryIO) -> None:
151
162
  assert d.partitions[3].type == UUID("4eb2ea39-7855-4790-a79e-fae495e21f8d")
152
163
  assert d.partitions[3].guid == UUID("fc7f0906-62a5-47b2-8f40-98d9427fefe0")
153
164
  assert d.partitions[3].name == "OSDATA"
165
+ assert repr(d.partitions[3]) == (
166
+ "<Partition number=7 offset=0x206600000 size=0x1df99ffe00 type='4eb2ea39-7855-4790-a79e-fae495e21f8d (Unknown)' name='OSDATA'>" # noqa: E501
167
+ )
154
168
 
155
169
  assert d.partitions[4].number == 8
156
170
  assert d.partitions[4].offset == 0x2000100000
@@ -20,6 +20,7 @@ def test_mbr(mbr: BinaryIO) -> None:
20
20
  assert d.partitions[0].offset == 0x100000
21
21
  assert d.partitions[0].size == 0x1F400000
22
22
  assert d.partitions[0].type == 0x7
23
+ assert repr(d.partitions[0]) == "<Partition number=1 offset=0x100000 size=0x1f400000 type='0x7 (NTFS)' name=None>"
23
24
 
24
25
  assert d.partitions[1].number == 2
25
26
  assert d.partitions[1].offset == 0x1F500000