summaryrefslogtreecommitdiff
path: root/tests/04_symlink_diff.sh
blob: 7b414fb89a4ba27d6fce921f34db2c9711baebd9 (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
#!/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 () {
	for dir in $ORIGIN $TARGET; do
	(
		cd $dir &&
		echo 1 >file &&
		chown :cdrom file &&
		mkdir -p dir &&
		chown :cdrom dir &&
		ln -s file flink &&
		ln -s dir dlink
	); done &&
	chgrp -h daemon $TARGET/flink $TARGET/dlink &&
	ln -s /foo $ORIGIN/a && \
	ln -s /bar $TARGET/a && \
	chown -h :cdrom $TARGET/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 $@