-
Notifications
You must be signed in to change notification settings - Fork 36
Expand file tree
/
Copy pathtest_btrfs_clone.sh
More file actions
executable file
·72 lines (57 loc) · 1.46 KB
/
test_btrfs_clone.sh
File metadata and controls
executable file
·72 lines (57 loc) · 1.46 KB
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
#!/bin/sh
set -ve
if [ -e COMMON ]; then
. ./COMMON
else
. "${MESON_SOURCE_ROOT}/test/COMMON"
fi
BTRFS_IMAGE_MOUNTPOINT="/tmp/rmw-loop"
IMAGE_PATH="${MESON_SOURCE_ROOT}/test/rmw-btrfs-test.img"
if [ ! -f "$IMAGE_PATH" ]; then
echo "Test image not found, but exiting with zero anyway."
exit 0
fi
if [ ! -d "$BTRFS_IMAGE_MOUNTPOINT" ]; then
sudo mkdir "$BTRFS_IMAGE_MOUNTPOINT"
fi
IS_BTRFS_MOUNTED="$(mount | grep rmw-btrfs)" || true
if [ -z "$IS_BTRFS_MOUNTED" ]; then
sudo mount -o loop "$IMAGE_PATH" \
"$BTRFS_IMAGE_MOUNTPOINT"
sudo chown $(id -u) -R "$BTRFS_IMAGE_MOUNTPOINT"
fi
cd "$BTRFS_IMAGE_MOUNTPOINT"
RMW_TEST_CMD_STRING="$BIN_DIR/rmw -c ${MESON_SOURCE_ROOT}/test/conf/btrfs_img.testrc"
SUBVOLUME_USED="/tmp/rmw-loop/three"
WASTE_USED="$SUBVOLUME_USED/Waste"
if [ -d "$WASTE_USED" ]; then
rm -rf "$WASTE_USED"
fi
TEST_DIR="$SUBVOLUME_USED/test_dir"
if [ -d "$TEST_DIR" ]; then
rm -rf "$TEST_DIR"
fi
mkdir "$TEST_DIR"
$RMW_TEST_CMD_STRING -v "$TEST_DIR"
touch foo
$RMW_TEST_CMD_STRING foo
test -f "$WASTE_USED/files/foo"
test -f "$WASTE_USED/info/foo.trashinfo"
test ! -f foo
$RMW_TEST_CMD_STRING -u
test -f foo
RMW_FAKE_YEAR=true $RMW_TEST_CMD_STRING foo
test -f "$WASTE_USED/files/foo"
$RMW_TEST_CMD_STRING -g
test ! -f "$WASTE_USED/files/foo"
cd "$RMW_FAKE_HOME"
touch foo
$RMW_TEST_CMD_STRING foo -v
test ! -f foo
$RMW_TEST_CMD_STRING -u
test -f foo
cd
if [ -n "$(mount | grep rmw-btrfs)" ]; then
sudo umount "$BTRFS_IMAGE_MOUNTPOINT"
fi
exit 0