[U-Boot] [PATCH V2 3/7] test/py: add test of setenv/printenv/echo
Stephen Warren
swarren at wwwdotorg.org
Fri Dec 18 19:09:04 CET 2015
On 12/18/2015 06:50 AM, Michal Simek wrote:
> On 2.12.2015 23:18, Stephen Warren wrote:
>> This tests basic environment variable functionality.
>>
>> Signed-off-by: Stephen Warren <swarren at wwwdotorg.org>
>> Signed-off-by: Stephen Warren <swarren at nvidia.com>
>> ---
>> test/py/test_env.py | 121 ++++++++++++++++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 121 insertions(+)
>> create mode 100644 test/py/test_env.py
>>
>> diff --git a/test/py/test_env.py b/test/py/test_env.py
>> new file mode 100644
>> index 000000000000..3af0176c4523
>> --- /dev/null
>> +++ b/test/py/test_env.py
>> @@ -0,0 +1,121 @@
>> +# Copyright (c) 2015 Stephen Warren
>> +# Copyright (c) 2015, NVIDIA CORPORATION. All rights reserved.
>> +#
>> +# SPDX-License-Identifier: GPL-2.0
>> +
>> +import pytest
>> +
>> +# FIXME: This might be useful for other tests;
>> +# perhaps refactor it into ConsoleBase or some other state object?
>> +class StateTestEnv(object):
>> + def __init__(self, uboot_console):
>> + self.uboot_console = uboot_console
>> + self.get_env()
>> + self.set_var = self.get_non_existent_var()
>> +
>> + def get_env(self):
>> + response = self.uboot_console.run_command("printenv")
>> + self.env = {}
>> + for l in response.splitlines():
>> + if not "=" in l:
>> + continue
>> + (var, value) = l.strip().split("=")
>
> Please keep in your mind - I haven't written anything in python.
> This is failing on my testing platform. On microblaze I have variable
> which is defined like "console=console=ttyUL0,115200\0" and this script
> is not able to handle it properly.
> I expect it is because of two = on the same line.
Ah yes. Try:
- (var, value) = l.strip().split("=")
+ (var, value) = l.strip().split("=", 1)
More information about the U-Boot
mailing list