summaryrefslogtreecommitdiff
path: root/tests/04_symlink_diff.sh
blob: d9751916dce18faa1287fa3ca232d55ec379f0e6 (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
#!/bin/bash

TEST_ID="04"
TEST_NAME="Symlink diff"

CREATE=`pwd`/$1
DEPLOY=`pwd`/$2
TEST_TOOLS=$3

. ./test_lib.sh

############# Test specific code ############

setup_origin () {
	(
		cd $ORIGIN &&
		echo 1 >file &&
		chown :cdrom file &&
		mkdir -p dir &&
		chown :cdrom dir &&
		ln -s file flink &&
		ln -s dir dlink
		ln -s /foo a
	)
}

setup_target () {
	(
		cd $TARGET &&
		echo 1 >file &&
		chown :cdrom file &&
		mkdir -p dir &&
		chown :cdrom dir &&
		ln -s file flink &&
		ln -s dir dlink
		chgrp -h daemon flink dlink &&
		ln -s /bar a &&
		chown -h :cdrom a
	)
}

check_results () {
	test -f           $ORIGIN/file &&
	check_group       $ORIGIN/file cdrom &&
	test -d           $ORIGIN/dir &&
	check_group       $ORIGIN/dir cdrom &&
	check_group       $ORIGIN/flink daemon &&
	check_group       $ORIGIN/dlink daemon &&
	test -L           $ORIGIN/a && \
	check_symlink     $ORIGIN/a "/bar" && \
	check_group       $ORIGIN/a cdrom     && \
	check_same_mtime  $ORIGIN/a $TARGET/a && \
	check_same_uidgid $ORIGIN/a $TARGET/a
}

#############################################
main $@