summaryrefslogtreecommitdiff
path: root/test/lib-conf-test.sh
blob: cf0b805214e730ae4c13faccd216c021dacb367c (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
#!/usr/bin/env roundup

describe lib/conf.sh
. ./test-common.sh

it_sets_makepkg_vars_in_custom_file() {
	unset PKGDEST
	touch "$tmpdir/makepkg.conf"
	bash -c "$(printf '. $(librelib conf.sh); MAKEPKG_CONF=%q set_var makepkg PKGDEST /pkgdest' "$tmpdir/makepkg.conf")"
	.  "$tmpdir/makepkg.conf"
	[[ $PKGDEST == /pkgdest ]]
}

it_figures_out_HOME_when_root() {
	require sudo || return 0
	# This one is tricky, because it does the job too well, it will find
	# the actual HOME, instead of the test environment HOME.  Therefore, we
	# will just check that [[ $HOME != /root ]]
	cd "$tmpdir"
	echo '. $(librelib conf.sh); echo "$LIBREHOME"' > test.sh
	LIBREHOME=$(testsudo bash ./test.sh)
	[[ $LIBREHOME != /root ]]
}

it_nests_LIBREUSER() {
	require sudo || return 0
	[[ $USER != root ]]
	cd "$tmpdir"
	echo '. $(librelib conf.sh); echo "$LIBREUSER"' > test.sh

	LIBREUSER=$(testsudo bash ./test.sh)
	[[ $LIBREUSER == "$USER" ]]

	LIBREUSER=$(testsudo testsudo -u "$USER" bash ./test.sh)
	[[ $LIBREUSER == "$USER" ]]
}

it_respects_custom_HOME() {
	cd "$tmpdir"
	echo '. $(librelib conf.sh); echo "$LIBREHOME"' > test.sh

	export HOME=/foo
	LIBREHOME=$(bash ./test.sh)

	[[ $LIBREHOME == /foo ]]
}