From 9e8ed0ed099aec5085d4eb3dc809f92d797ec932 Mon Sep 17 00:00:00 2001 From: Scott Worley Date: Tue, 30 Jun 2020 13:30:13 -0700 Subject: [PATCH] Specify profile path with --profile --- Changelog | 2 ++ pinch.py | 5 +++-- tests/profile.sh | 19 +++++++++++++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) create mode 100755 tests/profile.sh diff --git a/Changelog b/Changelog index a2ffedf..6c0cdf8 100644 --- a/Changelog +++ b/Changelog @@ -1,4 +1,6 @@ ## [Unreleased] +### Added +- Specify profile path with --profile ## [2.0.0] - 2020-06-17 ### Changed diff --git a/pinch.py b/pinch.py index 8c9e976..a7f3449 100644 --- a/pinch.py +++ b/pinch.py @@ -727,8 +727,7 @@ def updateCommand(args: argparse.Namespace) -> None: command = [ 'nix-env', '--profile', - '/nix/var/nix/profiles/per-user/%s/channels' % - getpass.getuser(), + args.profile, '--show-trace', '--file', '', @@ -751,6 +750,8 @@ def main() -> None: parser_pin.set_defaults(func=pinCommand) parser_update = subparsers.add_parser('update') parser_update.add_argument('--dry-run', action='store_true') + parser_update.add_argument('--profile', default=( + '/nix/var/nix/profiles/per-user/%s/channels' % getpass.getuser())) parser_update.add_argument('channels_file', type=str, nargs='+') parser_update.set_defaults(func=updateCommand) args = parser.parse_args() diff --git a/tests/profile.sh b/tests/profile.sh new file mode 100755 index 0000000..00ceb27 --- /dev/null +++ b/tests/profile.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +. ./tests/lib/test-setup.sh + +foo_setup + +python3 ./pinch.py pin "$conf" + +actual_env_command=`python3 ./pinch.py update --dry-run --profile /path/to/profile "$conf"` + +expected_env_command_RE='^nix-env --profile /path/to/profile --show-trace --file '\'''\'' --install --from-expression '\''f: f \{ name = "(repo-[0-9]{10}-[0-9a-f]{11})"; channelName = "foo"; src = builtins.storePath "'"$NIX_STORE_DIR"'/.{32}-\1.tar.xz"; \}'\''$' + +if echo "$actual_env_command" | egrep "$expected_env_command_RE" > /dev/null;then + echo PASS +else + echo "Output: $actual_env_command" + echo "does not match RE: $expected_env_command_RE" + exit 1 +fi -- 2.44.1