]> git.scottworley.com Git - pinch/blame - tests/multi-update.sh
Allow more specific invalid symlinks
[pinch] / tests / multi-update.sh
CommitLineData
01ba0eb2
SW
1#!/bin/sh
2
a2290fb1
SW
3. ./tests/lib/test-setup.sh
4
5foo_setup
01ba0eb2
SW
6
7conf2="`mktemp`"
8cat > "$conf2" <<EOF
9[bar]
7f4c3ace 10type = alias
01ba0eb2
SW
11alias_of = foo
12EOF
13
a2290fb1 14python3 ./pinch.py pin "$conf"
01ba0eb2
SW
15python3 ./pinch.py pin "$conf2"
16
a2290fb1 17actual_env_command=`python3 ./pinch.py update --dry-run "$conf" "$conf2"`
01ba0eb2 18
a2290fb1 19rm -rf "$conf2"
01ba0eb2 20
3111c7ce 21expected_env_command_RE='^nix-env --profile /nix/var/nix/profiles/per-user/[^/]+/channels --show-trace --file '\''<nix/unpack-channel.nix>'\'' --install --remove-all (-I pinch_profile=/nix/var/nix/profiles/per-user/[^/]+/channels -I pinch_profile_manifest=/nix/store/.{32}-env-manifest.nix )?-I pinch_tarball_for_(repo-[0-9]{10}-[0-9a-f]{11})=('"$NIX_STORE_DIR"'/.{32}-\2.tar.xz) --from-expression '\''f: f \{ name = "\2"; channelName = "bar"; src = builtins.storePath "\3"; \}'\'' '\''f: f \{ name = "\2"; channelName = "foo"; src = builtins.storePath "\3"; \}'\''$'
01ba0eb2
SW
22
23if echo "$actual_env_command" | egrep "$expected_env_command_RE" > /dev/null;then
24 echo PASS
25else
26 echo "Output: $actual_env_command"
27 echo "does not match RE: $expected_env_command_RE"
28 exit 1
29fi