]> git.scottworley.com Git - pinch/blame_incremental - tests/alias.sh
Reject duplicate channel names
[pinch] / tests / alias.sh
... / ...
CommitLineData
1#!/bin/sh
2
3repo_dir="`mktemp -d`"
4repo="$repo_dir/repo"
5git init "$repo"
6(
7 cd "$repo"
8 echo Contents > test-file
9 git add test-file
10 git commit -m 'Commit message'
11)
12
13conf="`mktemp`"
14cat > "$conf" <<EOF
15[foo]
16git_repo = file://$repo
17git_ref = master
18
19[bar]
20alias_of = foo
21EOF
22
23python3 ./pinch.py pin "$conf"
24
25actual_env_command=`python3 ./pinch.py update --dry-run "$conf"`
26
27rm -rf "$repo_dir" "$conf"
28
29expected_env_command_RE='^nix-env --profile /nix/var/nix/profiles/per-user/[^/]+/channels --show-trace --file '\''<nix/unpack-channel.nix>'\'' --install --from-expression '\''f: f \{ name = "(repo-[0-9]{10}-[0-9a-f]{11})"; channelName = "bar"; src = builtins.storePath "/nix/store/.{32}-\1.tar.xz"; \}'\'' '\''f: f \{ name = "\1"; channelName = "foo"; src = builtins.storePath "/nix/store/.{32}-\1.tar.xz"; \}'\''$'
30
31if echo "$actual_env_command" | egrep "$expected_env_command_RE" > /dev/null;then
32 echo PASS
33else
34 echo "Output: $actual_env_command"
35 echo "does not match RE: $expected_env_command_RE"
36 exit 1
37fi