Added functionality to set flag_value correctly when using envvar #2788
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Default use
The expectation of the above code when running
python cmd.py --upper
is to print to stdoutupper
(the flag value). This is default behaviour and works correctly.Environment variable use
What is the expectation when we run
UPPER=32 python cmd.py
?The program should still print to the screen
upper
, because that is theflag_value
and there exists an env variable defined with the nameUPPER
, yet it actually prints32
, the value of the environment variable, which i don't believe is intended.I also added a test for this functionality called
test_envvar_flag_value
fixes #2746