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

describe toru-path
. ./test-common.sh

it_displays_help() {
	LC_ALL=C toru-path -h >$tmpdir/stdout 2>$tmpdir/stderr

	[[ "$(sed 1q $tmpdir/stdout)" =~ Usage:.* ]]
	empty $tmpdir/stderr
}

it_runs() {
	mkdir -p "$XDG_CONFIG_HOME"/libretools
	printf 'TORUPATH=%q\n' "$tmpdir" >> "$XDG_CONFIG_HOME"/libretools/libretools.conf
	echo 'REPOS=(libre)' >> "$XDG_CONFIG_HOME"/libretools/libretools.conf
	printf 'ABSROOT=%q\n' "$PWD/toru.d" >> "$HOME"/.abs.conf

	toru-path

	tcamgr list "$tmpdir/paths.tch"|LC_COLLATE=C sort|while read -r key; do
		val="$(tcamgr get "$tmpdir/paths.tch" "$key")"
		printf '«%q» -> «%q»\n' "$key" "$val"
	done > "$tmpdir/paths-actual.txt"

	printf '«%q» -> «%q»\n' \
	       BAR "$PWD/toru.d/libre/split-base" \
	       BAZ "$PWD/toru.d/libre/split-base" \
	       FOO "$PWD/toru.d/libre/split-base" \
	       bar "$PWD/toru.d/libre/split" \
	       baz "$PWD/toru.d/libre/split" \
	       foo "$PWD/toru.d/libre/split" \
	       simple "$PWD/toru.d/libre/simple" \
	       split-base "$PWD/toru.d/libre/split-base" \
	       > "$tmpdir/paths-expected.txt"

	diff "$tmpdir/paths-expected.txt" "$tmpdir/paths-actual.txt"
}

it_sets_torupath() {
	mkdir -p "$XDG_CONFIG_HOME"/libretools
	printf 'TORUPATH=%q\n' "$tmpdir" >> "$XDG_CONFIG_HOME"/libretools/libretools.conf
	echo 'REPOS=(libre)' >> "$XDG_CONFIG_HOME"/libretools/libretools.conf
	printf 'ABSROOT=%q\n' "$PWD/toru.d" >> "$HOME"/.abs.conf

	mkdir -p "$tmpdir/x"
	T="$tmpdir/x" toru-path
	test -f "$tmpdir/x/paths.tch"
	not test -e "$tmpdir/paths.tch"
}