Skip to content

OsOperations::set_env is corrected#97

Merged
dmitry-lipetsk merged 2 commits into
postgrespro:masterfrom
dmitry-lipetsk:D20260708_006--set_env
Jul 8, 2026
Merged

OsOperations::set_env is corrected#97
dmitry-lipetsk merged 2 commits into
postgrespro:masterfrom
dmitry-lipetsk:D20260708_006--set_env

Conversation

@dmitry-lipetsk

@dmitry-lipetsk dmitry-lipetsk commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

Declaration:

    def set_env(
        self,
        var_name: str,
        var_val: typing.Optional[str],
    ) -> None:

LocalOperations:

  • deletes variable when value is None via 'os.environ.pop(var_name, None)'

RemoteOperations:

  • [add] T_ENVS
  • [add] _remote_env
  • [add] _remote_env_guard
  • exec_command processes self._remote_env
  • set_env saves new value into self._remote_env

Two new tests:

  • test_set_env__persistence
  • test_set_env__evil

Declaration:
    def set_env(
        self,
        var_name: str,
        var_val: typing.Optional[str],
    ) -> None:

LocalOperations:
 - deletes variable when value is None via 'os.environ.pop(var_name, None)'

RemoteOperations:
 - [add] T_ENVS
 - [add] _remote_env
 - [add] _remote_env_guard
 - exec_command processes self._remote_env
 - environ uses an absolte path /usr/bin/printenv
 - set_env saves new value into self._remote_env

Two new tests:
 - test_set_env__persistence
 - test_set_env__evil

Co-authored-by: Mark G. <mark@google.com>
@dmitry-lipetsk dmitry-lipetsk force-pushed the D20260708_006--set_env branch from 9354472 to 4ce9a7f Compare July 8, 2026 14:47
Alpne holds it in /bin/printenv.

So, we will use printenv.

Test is corrected.
@dmitry-lipetsk dmitry-lipetsk merged commit 14c2718 into postgrespro:master Jul 8, 2026
45 of 46 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant