~youscribe/parted/3.1

« back to all changes in this revision

Viewing changes to debug/test/test_fs_fat

  • Committer: Guilhem Lettron
  • Date: 2012-10-22 14:37:59 UTC
  • Revision ID: guilhem+ubuntu@lettron.fr-20121022143759-m403kecgz13sknvp
3.1 from tarball

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#! /bin/bash
 
2
 
 
3
do_diff()
 
4
{
 
5
        mount -t vfat ${TEST_DRIVE}1 $TEST_MOUNT_POINT > /dev/null
 
6
 
 
7
        if diff -rq $1 $2 >> test_log; then
 
8
                ped_test_ok
 
9
        else
 
10
                ped_test_failed
 
11
        fi
 
12
 
 
13
        umount $TEST_MOUNT_POINT 2>&1 > /dev/null
 
14
}
 
15
 
 
16
do_test_diff()
 
17
{
 
18
        ped_testing "$1"
 
19
        if ped_test_get_val "$4" "$5" "$6" "$7"; then
 
20
                ped_test_failed
 
21
                return 1
 
22
        fi
 
23
        do_diff "$2" "$3"
 
24
}
 
25
 
 
26
test_mkpartfs()
 
27
{
 
28
        ped_test "mkpartfs fat16 minimum size"\
 
29
                "mklabel $TEST_FS_USE_DISK_LABEL\
 
30
                mkpartfs primary fat16 0 1\
 
31
                check 1"\
 
32
                "/sbin/dosfsck ${TEST_DRIVE}1"
 
33
 
 
34
        ped_test "mkpartfs fat32 minimum size"\
 
35
                "mklabel $TEST_FS_USE_DISK_LABEL\
 
36
                mkpartfs primary fat32 0 1\
 
37
                check 1"\
 
38
                "/sbin/dosfsck ${TEST_DRIVE}1"
 
39
 
 
40
        ped_test "mkpartfs"\
 
41
                "mklabel $TEST_FS_USE_DISK_LABEL\
 
42
                mkpartfs primary fat32 1 $DEFAULT_END\
 
43
                check 1"\
 
44
                "/sbin/dosfsck ${TEST_DRIVE}1"
 
45
 
 
46
        ped_test "mkfs"\
 
47
                "mkfs 1 fat32\
 
48
                 check 1"\
 
49
                "/sbin/dosfsck ${TEST_DRIVE}1"
 
50
}
 
51
 
 
52
prepare_resize_tests()
 
53
{
 
54
        part_num=1
 
55
        part=$TEST_DRIVE$part_num
 
56
        hole_parent=`echo $TEST_DATA_HOLE | sed -e "s/[-_.a-zA-Z0-9]+\///g"`
 
57
 
 
58
        umount $TEST_MOUNT_POINT 2>&1 > /dev/null
 
59
 
 
60
        mount $part $TEST_MOUNT_POINT -t vfat \
 
61
        && cp -r $TEST_DATA/* $TEST_MOUNT_POINT \
 
62
        && cp -r $TEST_DATA $TEST_MOUNT_POINT/tmp_copy \
 
63
        && rm -rf $TEST_MOUNT_POINT/$TEST_DATA_HOLE \
 
64
        && mv $TEST_MOUNT_POINT/tmp_copy/$TEST_DATA_HOLE \
 
65
              $TEST_MOUNT_POINT/$hole_parent \
 
66
        && rm -rf $TEST_MOUNT_POINT/tmp_copy
 
67
        umount $TEST_MOUNT_POINT
 
68
}
 
69
 
 
70
clearfat()
 
71
{
 
72
        $TEST_PARTED_CLEARFAT $TEST_DRIVE $1
 
73
}
 
74
 
 
75
test_resize_move_start_forward()
 
76
{
 
77
# geometry beforehand:  1 to $DEFAULT_END
 
78
        do_test_diff "resize: move start forward"\
 
79
                $TEST_DATA $TEST_MOUNT_POINT \
 
80
                "resize 1 5 $DEFAULT_END check 1"\
 
81
                "/sbin/dosfsck ${TEST_DRIVE}1"
 
82
        clearfat 1
 
83
}
 
84
 
 
85
test_resize_move_start_backward()
 
86
{
 
87
# geometry beforehand: 5 to $DEFAULT_END
 
88
        do_test_diff "resize: move start backward"\
 
89
                $TEST_DATA $TEST_MOUNT_POINT \
 
90
                "resize 1 1 $DEFAULT_END check 1"\
 
91
                "/sbin/dosfsck ${TEST_DRIVE}1"
 
92
        clearfat 1
 
93
}
 
94
 
 
95
test_resize_move_end_forward()
 
96
{
 
97
# geometry beforehand: 1 to $DEFAULT_END
 
98
        do_test_diff "resize: move end forward"\
 
99
                $TEST_DATA $TEST_MOUNT_POINT \
 
100
                "resize 1 1 $[ $DEFAULT_END + 5 ] check 1"\
 
101
                "/sbin/dosfsck ${TEST_DRIVE}1"
 
102
        clearfat 1
 
103
}
 
104
 
 
105
test_resize_move_end_backward()
 
106
{
 
107
# geometry beforehand:  1 to $[$DEFAULT_END + 5]
 
108
        do_test_diff "resize: move end backward"\
 
109
                $TEST_DATA $TEST_MOUNT_POINT \
 
110
                "resize 1 1 $DEFAULT_END check 1"\
 
111
                "/sbin/dosfsck ${TEST_DRIVE}1"
 
112
        clearfat 1
 
113
}
 
114
 
 
115
test_convert_fat16_fat32_shrink_cluster()
 
116
{
 
117
# geometry beforehand:  1 to $DEFAULT_END
 
118
        do_test_diff \
 
119
        "resize: convert from FAT16 to FAT32, shrinking the cluster size"\
 
120
                $TEST_DATA $TEST_MOUNT_POINT \
 
121
                "resize 1 1 $FAT32_END check 1"\
 
122
                "/sbin/dosfsck ${TEST_DRIVE}1"
 
123
        clearfat 1
 
124
}
 
125
 
 
126
test_convert_fat32_fat16()
 
127
{
 
128
# geometry beforehand:  1 to $FAT16_SMALL_END
 
129
        do_test_diff "resize: convert from FAT32 to FAT16"\
 
130
                $TEST_DATA $TEST_MOUNT_POINT \
 
131
                "resize 1 1 $FAT32_END check 1"\
 
132
                "/sbin/dosfsck ${TEST_DRIVE}1"
 
133
        clearfat 1
 
134
}
 
135
 
 
136
test_convert_fat16_fat32()
 
137
{
 
138
# geometry beforehand:  1 to $FAT32_END
 
139
        do_test_diff "resize: convert from FAT16 to FAT32"\
 
140
                $TEST_DATA $TEST_MOUNT_POINT \
 
141
                "resize 1 1 $FAT16_SMALL_END check 1"\
 
142
                "/sbin/dosfsck ${TEST_DRIVE}1"
 
143
        clearfat 1
 
144
}
 
145
 
 
146
#test_convert_fat32_fat16_shrink_cluster()
 
147
#{
 
148
#}
 
149
 
 
150
#test_fat16_shrink_cluster()
 
151
#{
 
152
#}
 
153
 
 
154
#test_fat32_shrink_cluster()
 
155
#{
 
156
#}
 
157
 
 
158
main()
 
159
{
 
160
        export DEFAULT_END=300
 
161
        export FAT32_END=600
 
162
        export FAT16_SMALL_END=200
 
163
 
 
164
        if ! test_mkpartfs; then
 
165
                return 1
 
166
        fi
 
167
 
 
168
        prepare_resize_tests
 
169
        test_resize_move_start_forward
 
170
        test_resize_move_start_backward
 
171
        test_resize_move_end_forward
 
172
        test_resize_move_end_backward
 
173
 
 
174
#       prepare_resize_tests
 
175
        test_convert_fat16_fat32_shrink_cluster
 
176
        test_convert_fat32_fat16
 
177
        test_convert_fat16_fat32
 
178
}
 
179
 
 
180
main