]>
Commit | Line | Data |
---|---|---|
17906b27 SW |
1 | #!/bin/sh |
2 | ||
001b650d SW |
3 | set -e |
4 | ||
17906b27 SW |
5 | repo_dir="`mktemp -d`" |
6 | repo="$repo_dir/repo" | |
7 | git init "$repo" | |
8 | ( | |
9 | cd "$repo" | |
10 | echo Contents > test-file | |
11 | git add test-file | |
12 | git commit -m 'Commit message' | |
13 | ) | |
14 | ||
15 | conf="`mktemp`" | |
16 | cat > "$conf" <<EOF | |
17 | [foo] | |
18 | git_repo = file://$repo | |
19 | git_ref = master | |
20 | ||
21 | [bar] | |
22 | alias_of = foo | |
23 | EOF | |
24 | ||
25 | python3 ./pinch.py pin "$conf" | |
26 | ||
27 | actual_env_command=`python3 ./pinch.py update --dry-run "$conf"` | |
28 | ||
29 | rm -rf "$repo_dir" "$conf" | |
30 | ||
31 | expected_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"; \}'\''$' | |
32 | ||
33 | if echo "$actual_env_command" | egrep "$expected_env_command_RE" > /dev/null;then | |
34 | echo PASS | |
35 | else | |
36 | echo "Output: $actual_env_command" | |
37 | echo "does not match RE: $expected_env_command_RE" | |
38 | exit 1 | |
39 | fi |