From 6659aba4048459c02e3d1178a0b6e983abaf6693 Mon Sep 17 00:00:00 2001 From: Reinier Schoof Date: Thu, 23 Feb 2023 14:34:14 +0100 Subject: [PATCH] fix(bump): fixed environment variables in bump hooks During development of #644, merging the hook environment variables with existing OS variables broke. --- commitizen/hooks.py | 4 +++- tests/test_bump_hooks.py | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/commitizen/hooks.py b/commitizen/hooks.py index f5efb8071d..f5505d0e82 100644 --- a/commitizen/hooks.py +++ b/commitizen/hooks.py @@ -1,5 +1,7 @@ from __future__ import annotations +import os + from commitizen import cmd, out from commitizen.exceptions import RunHookError @@ -25,7 +27,7 @@ def run(hooks, _env_prefix="CZ_", **env): def _format_env(prefix: str, env: dict[str, str]) -> dict[str, str]: """_format_env() prefixes all given environment variables with the given prefix so it can be passed directly to cmd.run().""" - penv = dict() + penv = dict(os.environ) for name, value in env.items(): name = prefix + name.upper() value = str(value) if value is not None else "" diff --git a/tests/test_bump_hooks.py b/tests/test_bump_hooks.py index af1f2a2d35..70ed7fe0b1 100644 --- a/tests/test_bump_hooks.py +++ b/tests/test_bump_hooks.py @@ -1,3 +1,4 @@ +import os from unittest.mock import call import pytest @@ -17,7 +18,10 @@ def test_run(mocker: MockFixture): hooks.run(bump_hooks) cmd_run_mock.assert_has_calls( - [call("pre_bump_hook", env={}), call("pre_bump_hook_1", env={})] + [ + call("pre_bump_hook", env=dict(os.environ)), + call("pre_bump_hook_1", env=dict(os.environ)), + ] )