]> git.scottworley.com Git - pinch/blob - tests/multi-update.sh
d6a6d54c704a5b086582bb5f3ff1fb1c66559ac8
[pinch] / tests / multi-update.sh
1 #!/bin/sh
2
3 . ./tests/lib/test-setup.sh
4
5 foo_setup
6
7 conf2="`mktemp`"
8 cat > "$conf2" <<EOF
9 [bar]
10 alias_of = foo
11 EOF
12
13 python3 ./pinch.py pin "$conf"
14 python3 ./pinch.py pin "$conf2"
15
16 actual_env_command=`python3 ./pinch.py update --dry-run "$conf" "$conf2"`
17
18 foo_cleanup
19 rm -rf "$conf2"
20
21 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"; \}'\''$'
22
23 if echo "$actual_env_command" | egrep "$expected_env_command_RE" > /dev/null;then
24 echo PASS
25 else
26 echo "Output: $actual_env_command"
27 echo "does not match RE: $expected_env_command_RE"
28 exit 1
29 fi