summaryrefslogtreecommitdiff
path: root/tests/05_symlink_add_remove.sh
blob: 0c8b0ac71e02fd0b627821f0dc78a13f96e57144 (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
#!/bin/bash

TEST_ID="05"
TEST_NAME="Symlink add/remove"

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

. ./test_lib.sh

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

setup () {
	ln -s /foo $ORIGIN/remove &&
	ln -s /bar $TARGET/add &&
	chown -h :cdrom $TARGET/add &&
	for dir in $ORIGIN $TARGET; do
	(
		cd $dir && mkdir -p data &&
		touch data/a data/b
	); done &&
	(cd $ORIGIN && ln -s data datalink)
}

check_results () {
	test   -L $ORIGIN/add    &&
	test ! -L $ORIGIN/remove &&
	check_symlink     $ORIGIN/add "/bar"      &&
	check_same_mtime  $ORIGIN/add $TARGET/add &&
	check_same_uidgid $ORIGIN/add $TARGET/add &&
	test ! -L $ORIGIN/datalink &&
	test   -d $ORIGIN/data &&
	test   -f $ORIGIN/data/a &&
	test   -f $ORIGIN/data/b
}

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