summaryrefslogtreecommitdiffstats
path: root/contrib/netbsd-tests/sbin
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/netbsd-tests/sbin')
-rw-r--r--contrib/netbsd-tests/sbin/gpt/gpt.2part.show.label8
-rw-r--r--contrib/netbsd-tests/sbin/gpt/gpt.2part.show.normal8
-rw-r--r--contrib/netbsd-tests/sbin/gpt/gpt.2part.show.uuid8
-rw-r--r--contrib/netbsd-tests/sbin/gpt/gpt.backup1851
-rw-r--r--contrib/netbsd-tests/sbin/gpt/gpt.disklabel27
-rw-r--r--contrib/netbsd-tests/sbin/gpt/gpt.disklabel.show.normal12
-rw-r--r--contrib/netbsd-tests/sbin/gpt/gpt.empty.show.normal7
-rw-r--r--contrib/netbsd-tests/sbin/gpt/gpt.removepart.show.normal8
-rw-r--r--contrib/netbsd-tests/sbin/gpt/gpt.resizedisk.show.normal9
-rw-r--r--contrib/netbsd-tests/sbin/gpt/gpt.resizepart.show.normal8
-rwxr-xr-xcontrib/netbsd-tests/sbin/gpt/t_gpt.sh318
-rwxr-xr-xcontrib/netbsd-tests/sbin/resize_ffs/common.sh4
-rwxr-xr-xcontrib/netbsd-tests/sbin/resize_ffs/t_check.sh56
-rwxr-xr-xcontrib/netbsd-tests/sbin/resize_ffs/t_grow.sh4
-rwxr-xr-xcontrib/netbsd-tests/sbin/resize_ffs/t_grow_swapped.sh4
-rwxr-xr-xcontrib/netbsd-tests/sbin/resize_ffs/t_shrink.sh4
-rwxr-xr-xcontrib/netbsd-tests/sbin/resize_ffs/t_shrink_swapped.sh4
-rwxr-xr-xcontrib/netbsd-tests/sbin/sysctl/t_perm.sh5
18 files changed, 2339 insertions, 6 deletions
diff --git a/contrib/netbsd-tests/sbin/gpt/gpt.2part.show.label b/contrib/netbsd-tests/sbin/gpt/gpt.2part.show.label
new file mode 100644
index 0000000..dfb2b99
--- /dev/null
+++ b/contrib/netbsd-tests/sbin/gpt/gpt.2part.show.label
@@ -0,0 +1,8 @@
+ start size index contents
+ 0 1 PMBR
+ 1 1 Pri GPT header
+ 2 32 Pri GPT table
+ 34 1024 1 GPT part - potato
+ 1058 9150 2 GPT part - tomato
+ 10208 32 Sec GPT table
+ 10240 1 Sec GPT header
diff --git a/contrib/netbsd-tests/sbin/gpt/gpt.2part.show.normal b/contrib/netbsd-tests/sbin/gpt/gpt.2part.show.normal
new file mode 100644
index 0000000..667c4d8
--- /dev/null
+++ b/contrib/netbsd-tests/sbin/gpt/gpt.2part.show.normal
@@ -0,0 +1,8 @@
+ start size index contents
+ 0 1 PMBR
+ 1 1 Pri GPT header
+ 2 32 Pri GPT table
+ 34 1024 1 GPT part - EFI System
+ 1058 9150 2 GPT part - NetBSD FFSv1/FFSv2
+ 10208 32 Sec GPT table
+ 10240 1 Sec GPT header
diff --git a/contrib/netbsd-tests/sbin/gpt/gpt.2part.show.uuid b/contrib/netbsd-tests/sbin/gpt/gpt.2part.show.uuid
new file mode 100644
index 0000000..77c41cc
--- /dev/null
+++ b/contrib/netbsd-tests/sbin/gpt/gpt.2part.show.uuid
@@ -0,0 +1,8 @@
+ start size index contents
+ 0 1 PMBR
+ 1 1 Pri GPT header
+ 2 32 Pri GPT table
+ 34 1024 1 GPT part - c12a7328-f81f-11d2-ba4b-00a0c93ec93b
+ 1058 9150 2 GPT part - 49f48d5a-b10e-11dc-b99b-0019d1879648
+ 10208 32 Sec GPT table
+ 10240 1 Sec GPT header
diff --git a/contrib/netbsd-tests/sbin/gpt/gpt.backup b/contrib/netbsd-tests/sbin/gpt/gpt.backup
new file mode 100644
index 0000000..8c57949
--- /dev/null
+++ b/contrib/netbsd-tests/sbin/gpt/gpt.backup
@@ -0,0 +1,1851 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>GPT_HDR</key>
+ <dict>
+ <key>entries</key>
+ <integer>128</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>revision</key>
+ <integer>0x10000</integer>
+ </dict>
+ <key>GPT_TBL</key>
+ <dict>
+ <key>gpt_array</key>
+ <array>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x421</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>1</integer>
+ <key>start</key>
+ <integer>0x22</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x27df</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>2</integer>
+ <key>start</key>
+ <integer>0x422</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>3</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>4</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>5</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>6</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>7</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>8</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>9</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>10</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>11</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>12</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>13</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>14</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>15</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>16</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>17</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>18</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>19</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>20</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>21</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>22</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>23</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>24</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>25</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>26</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>27</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>28</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>29</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>30</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>31</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>32</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>33</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>34</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>35</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>36</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>37</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>38</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>39</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>40</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>41</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>42</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>43</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>44</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>45</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>46</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>47</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>48</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>49</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>50</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>51</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>52</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>53</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>54</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>55</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>56</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>57</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>58</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>59</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>60</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>61</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>62</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>63</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>64</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>65</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>66</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>67</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>68</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>69</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>70</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>71</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>72</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>73</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>74</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>75</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>76</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>77</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>78</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>79</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>80</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>81</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>82</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>83</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>84</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>85</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>86</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>87</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>88</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>89</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>90</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>91</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>92</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>93</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>94</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>95</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>96</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>97</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>98</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>99</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>100</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>101</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>102</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>103</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>104</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>105</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>106</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>107</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>108</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>109</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>110</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>111</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>112</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>113</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>114</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>115</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>116</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>117</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>118</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>119</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>120</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>121</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>122</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>123</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>124</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>125</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>126</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>127</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ <dict>
+ <key>attributes</key>
+ <integer>0x0</integer>
+ <key>end</key>
+ <integer>0x0</integer>
+ <key>guid</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ <key>index</key>
+ <integer>128</integer>
+ <key>start</key>
+ <integer>0x0</integer>
+ <key>type</key>
+ <string>00000000-0000-0000-0000-000000000000</string>
+ </dict>
+ </array>
+ </dict>
+ <key>MBR</key>
+ <dict>
+ <key>code</key>
+ <data>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</data>
+ <key>mbr_array</key>
+ <array>
+ <dict>
+ <key>end_cylinder</key>
+ <integer>0xff</integer>
+ <key>end_head</key>
+ <integer>0xfe</integer>
+ <key>end_sector</key>
+ <integer>0xff</integer>
+ <key>flag</key>
+ <integer>0x0</integer>
+ <key>index</key>
+ <integer>0</integer>
+ <key>lba_size_high</key>
+ <integer>0x0</integer>
+ <key>lba_size_low</key>
+ <integer>0x2800</integer>
+ <key>lba_start_high</key>
+ <integer>0x0</integer>
+ <key>lba_start_low</key>
+ <integer>0x1</integer>
+ <key>start_cylinder</key>
+ <integer>0x0</integer>
+ <key>start_head</key>
+ <integer>0x0</integer>
+ <key>start_sector</key>
+ <integer>0x2</integer>
+ <key>type</key>
+ <integer>0xee</integer>
+ </dict>
+ </array>
+ </dict>
+ <key>sector_size</key>
+ <integer>512</integer>
+</dict>
+</plist>
diff --git a/contrib/netbsd-tests/sbin/gpt/gpt.disklabel b/contrib/netbsd-tests/sbin/gpt/gpt.disklabel
new file mode 100644
index 0000000..4a598ee
--- /dev/null
+++ b/contrib/netbsd-tests/sbin/gpt/gpt.disklabel
@@ -0,0 +1,27 @@
+# gpt.disk:
+type: ESDI
+disk: WDC WD2500SD-01K
+label: fictitious
+flags:
+bytes/sector: 512
+sectors/track: 63
+tracks/cylinder: 16
+sectors/cylinder: 1000
+cylinders: 10
+total sectors: 10000
+rpm: 3600
+interleave: 1
+trackskew: 0
+cylinderskew: 0
+headswitch: 0 # microseconds
+track-to-track seek: 0 # microseconds
+drivedata: 0
+
+6 partitions:
+# size offset fstype [fsize bsize cpg/sgs]
+ a: 500 63 4.2BSD 1024 8192 0 # (Cyl. 0*- 0*)
+ b: 1000 563 swap # (Cyl. 0*- 1*)
+ c: 1000 63 unused 0 0 # (Cyl. 0*- 1*)
+ d: 1063 0 unused 0 0 # (Cyl. 0 - 1*)
+ e: 1000 1563 4.2BSD 1024 8192 0 # (Cyl. 1*- 2*)
+ f: 400 2563 MSDOS # (Cyl. 2*- 2*)
diff --git a/contrib/netbsd-tests/sbin/gpt/gpt.disklabel.show.normal b/contrib/netbsd-tests/sbin/gpt/gpt.disklabel.show.normal
new file mode 100644
index 0000000..5d93707
--- /dev/null
+++ b/contrib/netbsd-tests/sbin/gpt/gpt.disklabel.show.normal
@@ -0,0 +1,12 @@
+ start size index contents
+ 0 1 PMBR
+ 1 1 Pri GPT header
+ 2 32 Pri GPT table
+ 34 29 Unused
+ 63 500 1 GPT part - NetBSD FFSv1/FFSv2
+ 563 1000 2 GPT part - NetBSD swap
+ 1563 1000 3 GPT part - NetBSD FFSv1/FFSv2
+ 2563 400 4 GPT part - Windows basic data
+ 2963 7245 Unused
+ 10208 32 Sec GPT table
+ 10240 1 Sec GPT header
diff --git a/contrib/netbsd-tests/sbin/gpt/gpt.empty.show.normal b/contrib/netbsd-tests/sbin/gpt/gpt.empty.show.normal
new file mode 100644
index 0000000..e55c5a9
--- /dev/null
+++ b/contrib/netbsd-tests/sbin/gpt/gpt.empty.show.normal
@@ -0,0 +1,7 @@
+ start size index contents
+ 0 1 PMBR
+ 1 1 Pri GPT header
+ 2 32 Pri GPT table
+ 34 10174 Unused
+ 10208 32 Sec GPT table
+ 10240 1 Sec GPT header
diff --git a/contrib/netbsd-tests/sbin/gpt/gpt.removepart.show.normal b/contrib/netbsd-tests/sbin/gpt/gpt.removepart.show.normal
new file mode 100644
index 0000000..bf89431
--- /dev/null
+++ b/contrib/netbsd-tests/sbin/gpt/gpt.removepart.show.normal
@@ -0,0 +1,8 @@
+ start size index contents
+ 0 1 PMBR
+ 1 1 Pri GPT header
+ 2 32 Pri GPT table
+ 34 1024 Unused
+ 1058 9150 2 GPT part - NetBSD FFSv1/FFSv2
+ 10208 32 Sec GPT table
+ 10240 1 Sec GPT header
diff --git a/contrib/netbsd-tests/sbin/gpt/gpt.resizedisk.show.normal b/contrib/netbsd-tests/sbin/gpt/gpt.resizedisk.show.normal
new file mode 100644
index 0000000..a328028
--- /dev/null
+++ b/contrib/netbsd-tests/sbin/gpt/gpt.resizedisk.show.normal
@@ -0,0 +1,9 @@
+ start size index contents
+ 0 1 PMBR
+ 1 1 Pri GPT header
+ 2 32 Pri GPT table
+ 34 1024 1 GPT part - EFI System
+ 1058 9150 2 GPT part - NetBSD FFSv1/FFSv2
+ 10208 10240 Unused
+ 20448 32 Sec GPT table
+ 20480 1 Sec GPT header
diff --git a/contrib/netbsd-tests/sbin/gpt/gpt.resizepart.show.normal b/contrib/netbsd-tests/sbin/gpt/gpt.resizepart.show.normal
new file mode 100644
index 0000000..6228a63
--- /dev/null
+++ b/contrib/netbsd-tests/sbin/gpt/gpt.resizepart.show.normal
@@ -0,0 +1,8 @@
+ start size index contents
+ 0 1 PMBR
+ 1 1 Pri GPT header
+ 2 32 Pri GPT table
+ 34 1024 1 GPT part - EFI System
+ 1058 19390 2 GPT part - NetBSD FFSv1/FFSv2
+ 20448 32 Sec GPT table
+ 20480 1 Sec GPT header
diff --git a/contrib/netbsd-tests/sbin/gpt/t_gpt.sh b/contrib/netbsd-tests/sbin/gpt/t_gpt.sh
new file mode 100755
index 0000000..0381313
--- /dev/null
+++ b/contrib/netbsd-tests/sbin/gpt/t_gpt.sh
@@ -0,0 +1,318 @@
+# $NetBSD: t_gpt.sh,v 1.15 2016/03/08 08:04:48 joerg Exp $
+#
+# Copyright (c) 2015 The NetBSD Foundation, Inc.
+# All rights reserved.
+#
+# This code is derived from software contributed to The NetBSD Foundation
+# by Christos Zoulas
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+
+bootblk=/usr/mdec/gptmbr.bin
+size=10240
+newsize=20480
+shdr=34
+disk=gpt.disk
+uuid="........-....-....-....-............"
+zero="00000000-0000-0000-0000-000000000000"
+src=$(atf_get_srcdir)
+
+silence() {
+ atf_check -s exit:0 -o empty -e empty "$@"
+}
+
+inline() {
+ local inline="$1"
+ shift
+ atf_check -s exit:0 -e empty -o inline:"$inline" "$@"
+}
+
+match() {
+ local match="$1"
+ shift
+ atf_check -s exit:0 -e empty -o match:"$match" "$@"
+}
+
+matcherr() {
+ local match="$1"
+ shift
+ atf_check -s exit:0 -o empty -e match:"$match" "$@"
+}
+
+file() {
+ local file="$1"
+ shift
+ atf_check -s exit:0 -e empty -o file:"$file" "$@"
+}
+
+save() {
+ local save="$1"
+ shift
+ atf_check -s exit:0 -e empty -o save:"$save" "$@"
+}
+
+zerodd() {
+ silence dd conv=notrunc msgfmt=quiet if=/dev/zero of="$disk" "$@"
+}
+
+prepare() {
+ rm -f "$disk"
+ zerodd seek="$size" count=1
+}
+
+prepare_2part() {
+ prepare
+ silence gpt create "$disk"
+ match "$(partaddmsg 1 34 1024)" gpt add -t efi -s 1024 "$disk"
+ match "$(partaddmsg 2 1058 9150)" gpt add "$disk"
+}
+
+# Calling this from tests does not work. BUG!
+check_2part() {
+ file "$src/gpt.2part.show.normal" gpt show "$disk"
+ file "$src/gpt.2part.show.uuid" gpt show -u "$disk"
+}
+
+partaddmsg() {
+ echo "^$disk: Partition $1 added: $uuid $2 $3\$"
+}
+
+partresmsg() {
+ echo "^$disk: Partition $1 resized: $2 $3\$"
+}
+
+partremmsg() {
+ echo "^$disk: Partition $1 removed\$"
+}
+
+partlblmsg() {
+ echo "^$disk: Partition $1 label changed\$"
+}
+
+partbootmsg() {
+ echo "^$disk: Partition $1 marked as bootable\$"
+}
+
+recovermsg() {
+ echo "^$disk: Recovered $1 GPT [a-z]* from $2\$"
+}
+
+migratemsg() {
+ echo -n "^gpt: $disk: Partition $1 unknown type MSDOS, "
+ echo 'using "Microsoft Basic Data"$'
+}
+
+attrmsg() {
+ echo "^$disk: Partition $1 attributes updated\$"
+}
+
+typemsg() {
+ echo "^$disk: Partition $1 type changed\$"
+}
+
+atf_test_case create_empty
+create_empty_head() {
+ atf_set "descr" "Create empty disk"
+}
+
+create_empty_body() {
+ prepare
+ silence gpt create "$disk"
+ file "$src/gpt.empty.show.normal" gpt show "$disk"
+}
+
+atf_test_case create_2part
+create_2part_head() {
+ atf_set "descr" "Create 2 partition disk"
+}
+
+create_2part_body() {
+ prepare_2part
+ check_2part
+}
+
+atf_test_case change_attr_2part
+change_attr_2part_head() {
+ atf_set "descr" "Change the attribute of 2 partition disk"
+}
+
+change_attr_2part_body() {
+ prepare_2part
+ match "$(attrmsg 1)" gpt set -i 1 -a biosboot,bootme "$disk"
+ save attr gpt show -i 1 "$disk"
+ match "^Attributes: biosboot, bootme\$" tail -1 attr
+ match "$(attrmsg 1)" gpt unset -i 1 -a biosboot,bootme "$disk"
+ save attr gpt show -i 1 "$disk"
+ match "^Attributes: None\$" tail -1 attr
+}
+
+atf_test_case change_type_2part
+change_type_2part_head() {
+ atf_set "descr" "Change the partition type type of 2 partition disk"
+}
+
+change_type_2part_body() {
+ prepare_2part
+ match "$(typemsg 1)" gpt type -i 1 -T apple "$disk"
+ save type gpt show -i 1 "$disk"
+ inline "Type: apple (48465300-0000-11aa-aa11-00306543ecac)\n" \
+ grep "^Type:" type
+ match "$(typemsg 1)" gpt type -i 1 -T efi "$disk"
+ save type gpt show -i 1 "$disk"
+ inline "Type: efi (c12a7328-f81f-11d2-ba4b-00a0c93ec93b)\n" \
+ grep "^Type:" type
+}
+
+atf_test_case backup_2part
+backup_2part_head() {
+ atf_set "descr" "Backup 2 partition disk"
+}
+
+backup_2part_body() {
+ prepare_2part
+ save test.backup gpt backup "$disk"
+ file "$src/gpt.backup" sed -e "s/$uuid/$zero/g" "test.backup"
+}
+
+atf_test_case restore_2part
+restore_2part_head() {
+ atf_set "descr" "Restore 2 partition disk"
+}
+
+restore_2part_body() {
+ prepare_2part
+ save test.backup gpt backup "$disk"
+ prepare
+ silence gpt restore -i test.backup "$disk"
+ check_2part
+}
+
+atf_test_case recover_backup
+recover_backup_head() {
+ atf_set "descr" "Recover the backup GPT header and table"
+}
+
+recover_backup_body() {
+ prepare_2part
+ zerodd seek="$((size - shdr))" count="$shdr"
+ match "$(recovermsg secondary primary)" gpt recover "$disk"
+ check_2part
+}
+
+atf_test_case recover_primary
+recover_primary_head() {
+ atf_set "descr" "Recover the primary GPT header and table"
+}
+
+recover_primary_body() {
+ prepare_2part
+ zerodd seek=1 count="$shdr"
+ match "$(recovermsg primary secondary)" gpt recover "$disk"
+ check_2part
+}
+
+atf_test_case resize_2part
+resize_2part_head() {
+ atf_set "descr" "Resize a 2 partition disk and partition"
+}
+
+resize_2part_body() {
+ prepare_2part
+ zerodd seek="$newsize" count=1
+ silence gpt resizedisk "$disk"
+ file "$src/gpt.resizedisk.show.normal" gpt show "$disk"
+ match "$(partresmsg 2 1058 19390)" gpt resize -i 2 "$disk"
+ file "$src/gpt.resizepart.show.normal" gpt show "$disk"
+}
+
+atf_test_case remove_2part
+remove_2part_head() {
+ atf_set "descr" "Remove a partition from a 2 partition disk"
+}
+
+remove_2part_body() {
+ prepare_2part
+ match "$(partremmsg 1)" -e empty gpt remove \
+ -i 1 "$disk"
+ file "$src/gpt.removepart.show.normal" \
+ gpt show "$disk"
+}
+
+atf_test_case label_2part
+label_2part_head() {
+ atf_set "descr" "Label partitions in a 2 partition disk"
+}
+
+label_2part_body() {
+ prepare_2part
+ match "$(partlblmsg 1)" gpt label -i 1 -l potato "$disk"
+ match "$(partlblmsg 2)" gpt label -i 2 -l tomato "$disk"
+ file "$src/gpt.2part.show.label" \
+ gpt show -l "$disk"
+}
+
+atf_test_case bootable_2part
+bootable_2part_head() {
+ atf_set "descr" "Make partition 2 bootable in a 2 partition disk"
+ atf_set "require.files" "$bootblk"
+}
+
+bootable_2part_body() {
+ prepare_2part
+ match "$(partbootmsg 2)" gpt biosboot -i 2 "$disk"
+ local bootsz="$(ls -l "$bootblk" | awk '{ print $5 }')"
+ silence dd msgfmt=quiet if="$disk" of=bootblk bs=1 count="$bootsz"
+ silence cmp "$bootblk" bootblk
+ save bootattr gpt show -i 2 "$disk"
+ match "^Attributes: biosboot\$" tail -1 bootattr
+}
+
+atf_test_case migrate_disklabel
+migrate_disklabel_head() {
+ atf_set "descr" "Migrate an MBR+disklabel disk to GPT"
+}
+
+migrate_disklabel_body() {
+ prepare
+ silence fdisk -fi "$disk"
+ silence fdisk -fu0s "169/63/$((size / 10))" "$disk"
+ silence disklabel -R "$disk" "$src/gpt.disklabel"
+ matcherr "$(migratemsg 5)" gpt migrate "$disk"
+ file "$src/gpt.disklabel.show.normal" gpt show "$disk"
+}
+
+atf_init_test_cases() {
+ atf_add_test_case create_empty
+ atf_add_test_case create_2part
+ atf_add_test_case change_attr_2part
+ atf_add_test_case change_type_2part
+ atf_add_test_case backup_2part
+ atf_add_test_case remove_2part
+ atf_add_test_case restore_2part
+ atf_add_test_case recover_backup
+ atf_add_test_case recover_primary
+ atf_add_test_case resize_2part
+ atf_add_test_case label_2part
+ atf_add_test_case bootable_2part
+ atf_add_test_case migrate_disklabel
+}
diff --git a/contrib/netbsd-tests/sbin/resize_ffs/common.sh b/contrib/netbsd-tests/sbin/resize_ffs/common.sh
index 1b1d5da..80ebc65 100755
--- a/contrib/netbsd-tests/sbin/resize_ffs/common.sh
+++ b/contrib/netbsd-tests/sbin/resize_ffs/common.sh
@@ -146,6 +146,8 @@ resize_ffs()
fi
umount mnt
+ # Check that resize needed
+ atf_check -s exit:0 -o ignore resize_ffs -c -y -s ${nsize} ${IMG}
atf_check -s exit:0 -o ignore resize_ffs -y -s ${nsize} ${IMG}
atf_check -s exit:0 -o ignore fsck_ffs -f -n -F ${IMG}
atf_check -s exit:0 -e ignore rump_ffs ${IMG} mnt
@@ -155,5 +157,7 @@ resize_ffs()
# checking everything because we don't delete on grow
check_data_range 1 ${numdata}
fi
+ # Check that no resize needed
+ atf_check -s exit:1 -o ignore resize_ffs -c -y -s ${nsize} ${IMG}
umount mnt
}
diff --git a/contrib/netbsd-tests/sbin/resize_ffs/t_check.sh b/contrib/netbsd-tests/sbin/resize_ffs/t_check.sh
new file mode 100755
index 0000000..5b92292
--- /dev/null
+++ b/contrib/netbsd-tests/sbin/resize_ffs/t_check.sh
@@ -0,0 +1,56 @@
+# $NetBSD: t_check.sh,v 1.1 2015/03/29 19:37:02 chopps Exp $
+#
+# Copyright (c) 2010 The NetBSD Foundation, Inc.
+# All rights reserved.
+#
+# This code is derived from software contributed to The NetBSD Foundation
+# by Christian E. Hopps
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+
+atf_test_case check_grow
+
+check_grow_head() {
+ atf_set "descr" "Tests check for room to grow in image"
+ atf_set "require.user" "root"
+}
+
+check_grow_body() {
+ echo "***resize_ffs check grow test"
+
+ atf_check -o ignore -e ignore newfs -V1 -s 6144 -F ${IMG}
+ dd if=/dev/zero count=2048 >> ${IMG}
+
+ # test room to grow, grow then check that we did.
+ atf_check -s exit:0 -o match:"newsize: 8192 oldsize: 6144" resize_ffs -v -c -y ${IMG}
+ atf_check -s exit:0 -o ignore resize_ffs -y ${IMG}
+ atf_check -s exit:0 -o ignore fsck_ffs -f -n -F ${IMG}
+ atf_check -s exit:1 -o match:"already 8192 blocks" \
+ resize_ffs -v -c -y ${IMG}
+}
+
+atf_init_test_cases()
+{
+ setupvars
+ atf_add_test_case check_grow
+}
diff --git a/contrib/netbsd-tests/sbin/resize_ffs/t_grow.sh b/contrib/netbsd-tests/sbin/resize_ffs/t_grow.sh
index 31d117b..08512d1 100755
--- a/contrib/netbsd-tests/sbin/resize_ffs/t_grow.sh
+++ b/contrib/netbsd-tests/sbin/resize_ffs/t_grow.sh
@@ -1,4 +1,4 @@
-# $NetBSD: t_grow.sh,v 1.8 2011/01/11 00:50:02 riz Exp $
+# $NetBSD: t_grow.sh,v 1.9 2015/03/29 19:37:02 chopps Exp $
#
# Copyright (c) 2010 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -131,8 +131,10 @@ grow_ffsv1_partial_cg_body()
atf_check -o ignore -e ignore newfs -V1 -s 4000 -F ${IMG}
# size to grow to is chosen to cause partial cg
+ atf_check -s exit:0 -o ignore resize_ffs -c -y -s 5760 ${IMG}
atf_check -s exit:0 -o ignore resize_ffs -y -s 5760 ${IMG}
atf_check -s exit:0 -o ignore fsck_ffs -f -n -F ${IMG}
+ atf_check -s exit:1 -o ignore resize_ffs -c -y -s 5760 ${IMG}
}
atf_init_test_cases()
diff --git a/contrib/netbsd-tests/sbin/resize_ffs/t_grow_swapped.sh b/contrib/netbsd-tests/sbin/resize_ffs/t_grow_swapped.sh
index 07dc514..3dba236 100755
--- a/contrib/netbsd-tests/sbin/resize_ffs/t_grow_swapped.sh
+++ b/contrib/netbsd-tests/sbin/resize_ffs/t_grow_swapped.sh
@@ -1,4 +1,4 @@
-# $NetBSD: t_grow_swapped.sh,v 1.2 2011/01/11 00:50:02 riz Exp $
+# $NetBSD: t_grow_swapped.sh,v 1.3 2015/03/29 19:37:02 chopps Exp $
#
# Copyright (c) 2010 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -130,8 +130,10 @@ grow_ffsv1_partial_cg_body()
atf_check -o ignore -e ignore newfs -B be -V1 -s 4000 -F ${IMG}
# size to grow to is chosen to cause partial cg
+ atf_check -s exit:0 -o ignore resize_ffs -c -y -s 5760 ${IMG}
atf_check -s exit:0 -o ignore resize_ffs -y -s 5760 ${IMG}
atf_check -s exit:0 -o ignore fsck_ffs -f -n -F ${IMG}
+ atf_check -s exit:1 -o ignore resize_ffs -c -y -s 5760 ${IMG}
}
atf_init_test_cases()
diff --git a/contrib/netbsd-tests/sbin/resize_ffs/t_shrink.sh b/contrib/netbsd-tests/sbin/resize_ffs/t_shrink.sh
index 1b66759..8a9cf19 100755
--- a/contrib/netbsd-tests/sbin/resize_ffs/t_shrink.sh
+++ b/contrib/netbsd-tests/sbin/resize_ffs/t_shrink.sh
@@ -1,4 +1,4 @@
-# $NetBSD: t_shrink.sh,v 1.7 2011/01/05 02:25:27 riz Exp $
+# $NetBSD: t_shrink.sh,v 1.8 2015/03/29 19:37:02 chopps Exp $
#
# Copyright (c) 2010 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -112,8 +112,10 @@ shrink_ffsv1_partial_cg_body()
atf_check -o ignore -e ignore newfs -V1 -F -s 5760 ${IMG}
# shrink so there's a partial cg at the end
+ atf_check -s exit:0 resize_ffs -c -s 4000 -y ${IMG}
atf_check -s exit:0 resize_ffs -s 4000 -y ${IMG}
atf_check -s exit:0 -o ignore fsck_ffs -f -n -F ${IMG}
+ atf_check -s exit:1 resize_ffs -c -s 4000 -y ${IMG}
}
atf_init_test_cases()
diff --git a/contrib/netbsd-tests/sbin/resize_ffs/t_shrink_swapped.sh b/contrib/netbsd-tests/sbin/resize_ffs/t_shrink_swapped.sh
index 30e4add..50dc436 100755
--- a/contrib/netbsd-tests/sbin/resize_ffs/t_shrink_swapped.sh
+++ b/contrib/netbsd-tests/sbin/resize_ffs/t_shrink_swapped.sh
@@ -1,4 +1,4 @@
-# $NetBSD: t_shrink_swapped.sh,v 1.1 2011/01/05 02:25:27 riz Exp $
+# $NetBSD: t_shrink_swapped.sh,v 1.2 2015/03/29 19:37:02 chopps Exp $
#
# Copyright (c) 2010 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -112,8 +112,10 @@ shrink_ffsv1_partial_cg_body()
atf_check -o ignore -e ignore newfs -V1 -F -s 5760 ${IMG}
# shrink so there's a partial cg at the end
+ atf_check -s exit:0 resize_ffs -c -s 4000 -y ${IMG}
atf_check -s exit:0 resize_ffs -s 4000 -y ${IMG}
atf_check -s exit:0 -o ignore fsck_ffs -f -n -F ${IMG}
+ atf_check -s exit:1 resize_ffs -c -s 4000 -y ${IMG}
}
atf_init_test_cases()
diff --git a/contrib/netbsd-tests/sbin/sysctl/t_perm.sh b/contrib/netbsd-tests/sbin/sysctl/t_perm.sh
index 6acfd19..25b2975 100755
--- a/contrib/netbsd-tests/sbin/sysctl/t_perm.sh
+++ b/contrib/netbsd-tests/sbin/sysctl/t_perm.sh
@@ -1,4 +1,4 @@
-# $NetBSD: t_perm.sh,v 1.6 2012/03/18 09:46:50 jruoho Exp $
+# $NetBSD: t_perm.sh,v 1.7 2016/06/17 03:55:35 pgoyette Exp $
#
# Copyright (c) 2011 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -39,6 +39,7 @@ clean() {
sysctl_write() {
deadbeef="3735928559"
+ deadbeef_signed="-559038737"
sysctl $1 | cut -d= -f1 > $file
@@ -63,7 +64,7 @@ sysctl_write() {
# A functional verification that $deadbeef
# was not actually written to the node.
#
- if [ ! -z $(sysctl $1 | grep $deadbeef) ]; then
+ if [ ! -z $(sysctl $1 | grep -e $deadbeef -e $deadbeef_signed) ]; then
atf_fail "value was written"
fi
}
OpenPOWER on IntegriCloud