summaryrefslogtreecommitdiff
path: root/tests/mkfs-tests/001-basic-profiles/test.sh
blob: 2747d429f1b1da9cf2348113e04c4f370332b466 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#!/bin/bash
# test various blockgroup profile combinations, use loop devices as block
# devices

source $TOP/tests/common

check_prereq btrfs-show-super
check_prereq mkfs.btrfs
check_prereq btrfs

ndevs=4
declare -a devs
dev1=

setup_root_helper

prepare_devices()
{
	for i in `seq $ndevs`; do
		touch img$i
		chmod a+rw img$i
		truncate -s0 img$i
		truncate -s2g img$i
		devs[$i]=`run_check_stdout $SUDO_HELPER losetup --find --show img$i`
	done
}

cleanup_devices()
{
	for dev in ${devs[@]}; do
		run_check $SUDO_HELPER losetup -d $dev
	done
	for i in `seq $ndevs`; do
		truncate -s0 img$i
	done
	run_check $SUDO_HELPER losetup --list
}

test_get_info()
{
	run_check $TOP/btrfs-show-super $dev1
	run_check $SUDO_HELPER $TOP/btrfs check $dev1
	run_check $SUDO_HELPER mount $dev1 $TEST_MNT
	run_check $TOP/btrfs filesystem df $TEST_MNT
	run_check $SUDO_HELPER $TOP/btrfs filesystem usage $TEST_MNT
	run_check $SUDO_HELPER $TOP/btrfs device usage $TEST_MNT
	run_check $SUDO_HELPER umount "$TEST_MNT"
}
test_do_mkfs()
{
	run_check $SUDO_HELPER $TOP/mkfs.btrfs -f	\
		$@
}

test_mkfs_single()
{
	test_do_mkfs $@ $dev1
	test_get_info
}
test_mkfs_multi()
{
	test_do_mkfs $@ ${devs[@]}
	test_get_info
}

prepare_devices
dev1=${devs[1]}

test_mkfs_single
test_mkfs_single  -d  single  -m  single
test_mkfs_single  -d  single  -m  single  --mixed
test_mkfs_single  -d  single  -m  dup
test_mkfs_single  -d  dup     -m  single
test_mkfs_single  -d  dup     -m  dup
test_mkfs_single  -d  dup     -m  dup     --mixed

test_mkfs_multi
test_mkfs_multi   -d  single  -m  single
test_mkfs_multi   -d  single  -m  single  --mixed
test_mkfs_multi   -d  raid0   -m  raid0
test_mkfs_multi   -d  raid0   -m  raid0   --mixed
test_mkfs_multi   -d  raid1   -m  raid1
test_mkfs_multi   -d  raid1   -m  raid1   --mixed
test_mkfs_multi   -d  raid10  -m  raid10
test_mkfs_multi   -d  raid10  -m  raid10  --mixed
test_mkfs_multi   -d  raid5   -m  raid5
test_mkfs_multi   -d  raid5   -m  raid5   --mixed
test_mkfs_multi   -d  raid6   -m  raid6
test_mkfs_multi   -d  raid6   -m  raid6   --mixed

cleanup_devices