7 D
=$
(mktemp
--directory)
8 trap "rm -rf '$D'" EXIT INT QUIT PIPE
9 mkdir
-p $D/definitions
11 SEED
=e2a40bf9-73f1-4278-9160-49c031e7aef8
13 echo "### Testing systemd-repart --empty=create ###"
15 $repart $D/zzz
--empty=create
--size=1G
--seed=$SEED
17 sfdisk
-d $D/zzz |
grep -v -e 'sector-size' -e '^$' >$D/empty
21 label-id: EF7F7EE2-47B3-4251-B1A1-09EA8BF12D5D
28 echo "### Testing with root, root2, home, & swap ###"
30 cat >$D/definitions
/root.conf
<<EOF
35 ln -s root.conf
$D/definitions
/root2.conf
37 cat >$D/definitions
/home.conf
<<EOF
41 Label=home-always-too-long-xxxxxxxxxxxxxx-%v
44 cat >$D/definitions
/swap.conf
<<EOF
51 $repart $D/zzz
--dry-run=no
--seed=$SEED --definitions=$D/definitions
53 sfdisk
-d $D/zzz |
grep -v -e 'sector-size' -e '^$' >$D/populated
55 cmp $D/populated
- <<EOF
57 label-id: EF7F7EE2-47B3-4251-B1A1-09EA8BF12D5D
62 $D/zzz1 : start= 2048, size= 591856, type=933AC7E1-2EB4-4F13-B844-0E14E2AEF915, uuid=A6005774-F558-4330-A8E5-D6D2C01C01D6, name="home-first"
63 $D/zzz2 : start= 593904, size= 591856, type=4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709, uuid=CE9C76EB-A8F1-40FF-813C-11DCA6C0A55B, name="root-x86-64"
64 $D/zzz3 : start= 1185760, size= 591864, type=4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709, uuid=AC60A837-550C-43BD-B5C4-9CB73B884E79, name="root-x86-64-2"
65 $D/zzz4 : start= 1777624, size= 131072, type=0657FD6D-A4AB-43C4-84E5-0933C84B4F4F, uuid=2AA78CDB-59C7-4173-AF11-C7453737A5D1, name="swap"
68 echo "### Testing with root, root2, home, swap, & another partition ###"
70 cat >$D/definitions
/swap.conf
<<EOF
76 cat >$D/definitions
/extra.conf
<<EOF
80 UUID=a0a1a2a3a4a5a6a7a8a9aaabacadaeaf
83 echo "Label=ignored_label" >>$D/definitions
/home.conf
84 echo "UUID=b0b1b2b3b4b5b6b7b8b9babbbcbdbebf" >>$D/definitions
/home.conf
86 $repart $D/zzz
--dry-run=no
--seed=$SEED --definitions=$D/definitions
88 sfdisk
-d $D/zzz |
grep -v -e 'sector-size' -e '^$' >$D/populated2
90 cmp $D/populated2
- <<EOF
92 label-id: EF7F7EE2-47B3-4251-B1A1-09EA8BF12D5D
97 $D/zzz1 : start= 2048, size= 591856, type=933AC7E1-2EB4-4F13-B844-0E14E2AEF915, uuid=A6005774-F558-4330-A8E5-D6D2C01C01D6, name="home-first"
98 $D/zzz2 : start= 593904, size= 591856, type=4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709, uuid=CE9C76EB-A8F1-40FF-813C-11DCA6C0A55B, name="root-x86-64"
99 $D/zzz3 : start= 1185760, size= 591864, type=4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709, uuid=AC60A837-550C-43BD-B5C4-9CB73B884E79, name="root-x86-64-2"
100 $D/zzz4 : start= 1777624, size= 131072, type=0657FD6D-A4AB-43C4-84E5-0933C84B4F4F, uuid=2AA78CDB-59C7-4173-AF11-C7453737A5D1, name="swap"
101 $D/zzz5 : start= 1908696, size= 188416, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=A0A1A2A3-A4A5-A6A7-A8A9-AAABACADAEAF, name="custom_label"
104 echo "### Resizing to 2G ###"
106 $repart $D/zzz
--size=2G
--dry-run=no
--seed=$SEED --definitions=$D/definitions
108 sfdisk
-d $D/zzz |
grep -v -e 'sector-size' -e '^$' >$D/populated3
110 cmp $D/populated3
- <<EOF
112 label-id: EF7F7EE2-47B3-4251-B1A1-09EA8BF12D5D
117 $D/zzz1 : start= 2048, size= 591856, type=933AC7E1-2EB4-4F13-B844-0E14E2AEF915, uuid=A6005774-F558-4330-A8E5-D6D2C01C01D6, name="home-first"
118 $D/zzz2 : start= 593904, size= 591856, type=4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709, uuid=CE9C76EB-A8F1-40FF-813C-11DCA6C0A55B, name="root-x86-64"
119 $D/zzz3 : start= 1185760, size= 591864, type=4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709, uuid=AC60A837-550C-43BD-B5C4-9CB73B884E79, name="root-x86-64-2"
120 $D/zzz4 : start= 1777624, size= 131072, type=0657FD6D-A4AB-43C4-84E5-0933C84B4F4F, uuid=2AA78CDB-59C7-4173-AF11-C7453737A5D1, name="swap"
121 $D/zzz5 : start= 1908696, size= 2285568, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=A0A1A2A3-A4A5-A6A7-A8A9-AAABACADAEAF, name="custom_label"
124 dd if=/dev
/urandom of
=$D/block-copy bs
=4096 count
=10240
126 echo "### Testing with root, root2, home, swap, another partition, & partition copy ###"
128 cat >$D/definitions
/extra2.conf
<<EOF
132 UUID=2a1d97e1d0a346cca26eadc643926617
133 CopyBlocks=$D/block-copy
136 $repart $D/zzz
--size=3G
--dry-run=no
--seed=$SEED --definitions=$D/definitions
138 sfdisk
-d $D/zzz |
grep -v -e 'sector-size' -e '^$' >$D/populated4
140 cmp $D/populated4
- <<EOF
142 label-id: EF7F7EE2-47B3-4251-B1A1-09EA8BF12D5D
147 $D/zzz1 : start= 2048, size= 591856, type=933AC7E1-2EB4-4F13-B844-0E14E2AEF915, uuid=A6005774-F558-4330-A8E5-D6D2C01C01D6, name="home-first"
148 $D/zzz2 : start= 593904, size= 591856, type=4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709, uuid=CE9C76EB-A8F1-40FF-813C-11DCA6C0A55B, name="root-x86-64"
149 $D/zzz3 : start= 1185760, size= 591864, type=4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709, uuid=AC60A837-550C-43BD-B5C4-9CB73B884E79, name="root-x86-64-2"
150 $D/zzz4 : start= 1777624, size= 131072, type=0657FD6D-A4AB-43C4-84E5-0933C84B4F4F, uuid=2AA78CDB-59C7-4173-AF11-C7453737A5D1, name="swap"
151 $D/zzz5 : start= 1908696, size= 2285568, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=A0A1A2A3-A4A5-A6A7-A8A9-AAABACADAEAF, name="custom_label"
152 $D/zzz6 : start= 4194264, size= 2097152, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=2A1D97E1-D0A3-46CC-A26E-ADC643926617, name="block-copy"
155 cmp --bytes=41943040 --ignore-initial=0:$
((512*4194264)) $D/block-copy
$D/zzz
157 echo "### Testing json output ###"
158 $repart $D/zzz
--size=3G
--dry-run=no
--seed=$SEED --definitions=$D/definitions
--json=help
159 $repart $D/zzz
--size=3G
--dry-run=no
--seed=$SEED --definitions=$D/definitions
--json=pretty
160 $repart $D/zzz
--size=3G
--dry-run=no
--seed=$SEED --definitions=$D/definitions
--json=short