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