summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Warren <swarren@nvidia.com>2019-12-18 21:37:21 +0300
committerTom Rini <trini@konsulko.com>2020-01-02 18:27:23 +0300
commitfc1a3bfedf7d6cca27a8460b419482b8b0959e27 (patch)
tree7687fcb632768e58e019baa17bd7e3cf3d220a9d
parente852b30b239d5f8527eb992f805528620ae0965f (diff)
downloadu-boot-fc1a3bfedf7d6cca27a8460b419482b8b0959e27.tar.xz
test_env: don't strip() printenv results
get_env() was originally written to strip() the output of printenv to isolate the test from any whitespace changes in printenv's output. However, this throws away any whitespace in the variable value, which can cause issues when test code expects to see that whitespace. In fact, printenv never adds any whitespace at all, so there's no need to strip. The strip causes a practical problem for test_env_echo_exists() if state_test_env.get_existent_var() happens to choose a U-Boot variable that contains trailing whitespace. This is true for variable boot_targets. With Python 2, get_existent_var() never returned boot_targets so this issue never caused a practical problem. With Python 3, get_existent_var does sometimes return boot_targets, no doubt due to Python 3's different dict hash key order implementation, about 0.5-2% of the time, so this test appears intermittent. With the strip removed, this intermittency is solved, since the test passes for all possible U-Boot variables. Signed-off-by: Stephen Warren <swarren@nvidia.com>
-rw-r--r--test/py/tests/test_env.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/test/py/tests/test_env.py b/test/py/tests/test_env.py
index 9bdaef9373..6ff38f1020 100644
--- a/test/py/tests/test_env.py
+++ b/test/py/tests/test_env.py
@@ -49,7 +49,7 @@ class StateTestEnv(object):
for l in response.splitlines():
if not '=' in l:
continue
- (var, value) = l.strip().split('=', 1)
+ (var, value) = l.split('=', 1)
self.env[var] = value
def get_existent_var(self):