Upload Tizen:Base source
[framework/base/util-linux-ng.git] / tests / ts / fdisk / doslabel
1 #!/bin/bash
2
3 #
4 # This file is part of util-linux-ng.
5 #
6 # This file is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2 of the License, or
9 # (at your option) any later version.
10 #
11 # This file is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
15 #
16
17 TS_TOPDIR="$(dirname $0)/../.."
18 TS_DESC="doslabel tests"
19
20 . $TS_TOPDIR/functions.sh
21 ts_init "$*"
22
23 # cmd to change number of cylinders to 1024 and changes system id to 0x1
24 FDISK_CMD_INIT='x\nc\n1024\ni\n0x1\nr\n'
25 FDISK_CMD_WRITE_CLOSE='w\nq\n'
26 FDISK_CMD_CREATE_DOSLABEL='o\n' #create dos label
27 FDISK_CMD_CREATE_PRIMARY='n\np\n1\n\n+1M\n' # create primary partition 1 of size 1MB
28 FDISK_CMD_CREATE_EXTENDED='n\ne\n2\n\n+10\n' # create extended partition 2 of size 11 cylinders
29 FDISK_CMD_CREATE_LOGICAL='n\nl\n\n+1\n' # create next logical partition of size 2 cyl
30 FDISK_CMD_DELETE_LOGICALS='d\n6\nd\n5\nd\n6\d5\n' # delete middle, head, tail, last partitions
31 FDISK_CMD_DELETE_PRIMARY='d\n1\n' # delete first primary
32 FDISK_CMD_DELETE_EXTENDED='d\n2\n' # delete second primary
33
34 #set -x 
35
36 ts_log "Initialize empty image"
37 TEST_IMAGE_NAME=$(ts_image_init 10)
38 ts_image_md5sum 2>&1 >> $TS_OUTPUT
39
40 # need to run init twice, to change system ID after new label, otherwise system
41 # ID will be random and will screw up md5's
42 ts_log "Create new DOS partition table"
43 echo -e "${FDISK_CMD_INIT}${FDISK_CMD_CREATE_DOSLABEL}${FDISK_CMD_INIT}${FDISK_CMD_WRITE_CLOSE}" \
44          | $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
45 ts_image_md5sum 2>&1 >> $TS_OUTPUT
46
47 ts_log "Create primary partition"
48 echo -e "${FDISK_CMD_INIT}${FDISK_CMD_CREATE_PRIMARY}${FDISK_CMD_WRITE_CLOSE}" | \
49         $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
50 ts_image_md5sum 2>&1 >> $TS_OUTPUT
51
52 ts_log "Create extended partition"
53 echo -e "${FDISK_CMD_INIT}${FDISK_CMD_CREATE_EXTENDED}${FDISK_CMD_WRITE_CLOSE}" | \
54         $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
55 ts_image_md5sum 2>&1 >> $TS_OUTPUT
56
57 ts_log "Create logical partitions"
58 echo -e "${FDISK_CMD_INIT}${FDISK_CMD_CREATE_LOGICAL}${FDISK_CMD_CREATE_LOGICAL}${FDISK_CMD_CREATE_LOGICAL}${FDISK_CMD_CREATE_LOGICAL}${FDISK_CMD_WRITE_CLOSE}" \
59         | $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
60 ts_image_md5sum 2>&1 >> $TS_OUTPUT
61
62 ts_log "Delete logical partitions"
63 echo -e "${FDISK_CMD_INIT}${FDISK_CMD_DELETE_LOGICALS}${FDISK_CMD_WRITE_CLOSE}" \
64         | $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
65 ts_image_md5sum 2>&1 >> $TS_OUTPUT
66
67 ts_log "Create another logical partition"
68 echo -e "${FDISK_CMD_INIT}${FDISK_CMD_CREATE_LOGICAL}${FDISK_CMD_WRITE_CLOSE}" \
69         | $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
70 ts_image_md5sum  2>&1 >> $TS_OUTPUT
71
72 ts_log "Delete primary partition"
73 echo -e "${FDISK_CMD_INIT}${FDISK_CMD_DELETE_PRIMARY}${FDISK_CMD_WRITE_CLOSE}" \
74         | $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
75 ts_image_md5sum 2>&1 >> $TS_OUTPUT
76
77 ts_log "Delete extended partition"
78 echo -e "${FDISK_CMD_INIT}${FDISK_CMD_DELETE_EXTENDED}${FDISK_CMD_WRITE_CLOSE}" \
79         | $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
80 ts_image_md5sum 2>&1 >> $TS_OUTPUT
81
82 ts_finalize