parted/0086-tests-Use-msdos-overlap-to-setup-t0283.patch
Brian C. Lane 73aa139585 - Rebase on parted master commit 1da239e2ebd2
- libparted: Fix bug with dupe and empty name
2014-06-13 09:52:56 -07:00

103 lines
4.2 KiB
Diff

From 2ee70befff05e6d5004df7491b373445531318e7 Mon Sep 17 00:00:00 2001
From: "Brian C. Lane" <bcl@redhat.com>
Date: Wed, 26 Mar 2014 09:35:07 -0700
Subject: [PATCH 086/131] tests: Use msdos-overlap to setup t0283
xxd isn't present in minimal build systems, as it is part of vim. Change
to using a simple python script to mangle the msdos disklabel for the
test.
* tests/msdos-overlap.py: New file
* tests/t0283-overlap-partitions.sh: Use msdos-overlap.py
---
tests/msdos-overlap.py | 25 ++++++++++++++++++++++++
tests/t0283-overlap-partitions.sh | 40 +++------------------------------------
2 files changed, 28 insertions(+), 37 deletions(-)
create mode 100755 tests/msdos-overlap.py
diff --git a/tests/msdos-overlap.py b/tests/msdos-overlap.py
new file mode 100755
index 0000000..5bddfb0
--- /dev/null
+++ b/tests/msdos-overlap.py
@@ -0,0 +1,25 @@
+#!/usr/bin/python
+"""
+ Write an overlapping partition to a msdos disk
+
+ Call with disk image/device to mangle
+"""
+import sys
+
+BAD_ENTRY = (0x72, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x10, 0x83, 0x03, 0x20, 0x4f, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x50, 0x83, 0x00, 0x0a, 0x7a, 0xff, 0x27,
+ 0x00, 0x00, 0x0a, 0x15, 0x00, 0x00, 0x00, 0x00 )
+OFFSET = 0x1b8
+
+if len(sys.argv) < 2:
+ print "%s: <image or device>"
+ sys.exit(1)
+
+data = "".join(chr(c) for c in BAD_ENTRY)
+with open(sys.argv[1], "rb+") as f:
+ f.seek(OFFSET, 0)
+ f.write(data)
+
+sys.exit(0)
diff --git a/tests/t0283-overlap-partitions.sh b/tests/t0283-overlap-partitions.sh
index c7ae52a..221332d 100644
--- a/tests/t0283-overlap-partitions.sh
+++ b/tests/t0283-overlap-partitions.sh
@@ -21,43 +21,9 @@
require_512_byte_sector_size_
dev=loop-file
-truncate -s 10m $dev || fail=1
-
-# write damaged label
-xxd -r - $dev <<EOF
-0000000: fab8 0010 8ed0 bc00 b0b8 0000 8ed8 8ec0 ................
-0000010: fbbe 007c bf00 06b9 0002 f3a4 ea21 0600 ...|.........!..
-0000020: 00be be07 3804 750b 83c6 1081 fefe 0775 ....8.u........u
-0000030: f3eb 16b4 02b0 01bb 007c b280 8a74 018b .........|...t..
-0000040: 4c02 cd13 ea00 7c00 00eb fe00 0000 0000 L.....|.........
-0000050: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-0000060: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-0000070: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-0000080: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-0000090: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-00000a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-00000b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-00000c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-00000d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-00000e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-00000f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-0000100: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-0000110: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-0000120: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-0000130: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-0000140: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-0000150: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-0000160: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-0000170: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-0000180: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-0000190: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-00001a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-00001b0: 0000 0000 0000 0000 72f5 0000 0000 0000 ........r.......
-00001c0: 0110 8303 204f 0008 0000 0020 0000 0000 .... O..... ....
-00001d0: 0050 8300 0a7a ff27 0000 0a15 0000 0000 .P...z.'........
-00001e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-00001f0: 0000 0000 0000 0000 0000 0000 0000 55aa ..............U.
-EOF
+truncate -s 10m $dev || framework_failure
+parted -s $dev mklabel msdos || framework_failure
+python ../msdos-overlap.py $dev || framework_failure
# print the empty table
parted ---pretend-input-tty $dev <<EOF > out 2>&1 || fail=1
--
1.9.3