
Hi,
On 15.11.2017 19:31, Stephen Warren wrote:
On 11/15/2017 02:34 AM, Michal Simek wrote:
Hi,
On 10.11.2017 22:34, Stephen Warren wrote:
On 11/10/2017 04:01 AM, Michal Simek wrote:
After adding our small zynq uboot which has hush parser off these 3 tests start to failed. It is probably just coincidence that others are passing without hush parser.
What was the exact problem here? The set of tests you've disabled all seem to rely on setenv/printenv and don't seem to do anything complicated shell syntax wise. Are you sure they shouldn't depend on setenv being available rather than hush_parser?
These 3 tests. (html attached too.)
Zynq> printenv baudrate baudrate=115200 Zynq> test/py/tests/test_env.py .sZynq> printenv test_env_0 ## Error: "test_env_0" not defined Zynq> .sZynq> setenv test_env_0 "foo" Zynq> printenv test_env_0 test_env_0="foo" Zynq> F+u-boot-test-reset zynq_cse_qspi zc706
Zynq> Zynq> setenv test_env_0 "bar" Zynq> printenv test_env_0 test_env_0="bar" Zynq> F
For those two failures, the issue is that the test is expecting setenv to print:
test_env_0=foo test_env_0=bar
... but it prints:
test_env_0="foo" test_env_0="bar"
I guess this is because the set_var() function wraps the values in quotes to ensure that values that contain spaces work as expected, yet when not using Hush, quotes aren't processed.
I think the best solution is to enhance set_var() to do the following if Hush isn't available:
a) Skip the test if the value contains any spaces (or perhaps if the value contains any characters that aren't in a whitelist.
b) Not use quotes when not running on Hush.
I think re-writing it as follows would work:
bc = state_test_env.u_boot_console.config.buildconfig if bc.get('config_hush_parser', None): quote = '"' else: quote = '' if ' ' in value: pytest.skip('Space in variable value on non-Hush shell')
state_test_env.u_boot_console.run_command( 'setenv %s %s%s%s' % (var, quote, value, quote)) state_test_env.env[var] = value
First of all sorry for delay. I had to fix some other issues. This is fixing issues with all tests and I have sent v2.
Thanks, Michal