diff options
Diffstat (limited to 'test/py')
-rw-r--r-- | test/py/tests/test_hush_if_test.py | 8 | ||||
-rw-r--r-- | test/py/tests/test_sandbox_exit.py | 2 | ||||
-rw-r--r-- | test/py/u_boot_spawn.py | 9 | ||||
-rw-r--r-- | test/py/u_boot_utils.py | 2 |
4 files changed, 15 insertions, 6 deletions
diff --git a/test/py/tests/test_hush_if_test.py b/test/py/tests/test_hush_if_test.py index 1eeaa5b0471..b572538528e 100644 --- a/test/py/tests/test_hush_if_test.py +++ b/test/py/tests/test_hush_if_test.py @@ -109,27 +109,27 @@ def exec_hush_if(u_boot_console, expr, result): response = u_boot_console.run_command(cmd) assert response.strip() == str(result).lower() -@pytest.mark.buildconfigspec('sys_hush_parser') +@pytest.mark.buildconfigspec('hush_parser') def test_hush_if_test_setup(u_boot_console): """Set up environment variables used during the "if" tests.""" u_boot_console.run_command('setenv ut_var_nonexistent') u_boot_console.run_command('setenv ut_var_exists 1') -@pytest.mark.buildconfigspec('sys_hush_parser') +@pytest.mark.buildconfigspec('hush_parser') @pytest.mark.parametrize('expr,result', subtests) def test_hush_if_test(u_boot_console, expr, result): """Test a single "if test" condition.""" exec_hush_if(u_boot_console, expr, result) -@pytest.mark.buildconfigspec('sys_hush_parser') +@pytest.mark.buildconfigspec('hush_parser') def test_hush_if_test_teardown(u_boot_console): """Clean up environment variables used during the "if" tests.""" u_boot_console.run_command('setenv ut_var_exists') -@pytest.mark.buildconfigspec('sys_hush_parser') +@pytest.mark.buildconfigspec('hush_parser') # We might test this on real filesystems via UMS, DFU, 'save', etc. # Of those, only UMS currently allows file removal though. @pytest.mark.boardspec('sandbox') diff --git a/test/py/tests/test_sandbox_exit.py b/test/py/tests/test_sandbox_exit.py index d1aa3083f45..4e333ecedbf 100644 --- a/test/py/tests/test_sandbox_exit.py +++ b/test/py/tests/test_sandbox_exit.py @@ -7,7 +7,7 @@ import pytest import signal @pytest.mark.boardspec('sandbox') -@pytest.mark.buildconfigspec('reset') +@pytest.mark.buildconfigspec('sysreset') def test_reset(u_boot_console): """Test that the "reset" command exits sandbox process.""" diff --git a/test/py/u_boot_spawn.py b/test/py/u_boot_spawn.py index a5f4a8e91ba..d15517389e5 100644 --- a/test/py/u_boot_spawn.py +++ b/test/py/u_boot_spawn.py @@ -38,6 +38,11 @@ class Spawn(object): self.before = '' self.after = '' self.timeout = None + # http://stackoverflow.com/questions/7857352/python-regex-to-match-vt100-escape-sequences + # Note that re.I doesn't seem to work with this regex (or perhaps the + # version of Python in Ubuntu 14.04), hence the inclusion of a-z inside + # [] instead. + self.re_vt100 = re.compile('(\x1b\[|\x9b)[^@-_a-z]*[@-_a-z]|\x1b[@-_a-z]') (self.pid, self.fd) = pty.fork() if self.pid == 0: @@ -168,6 +173,10 @@ class Spawn(object): if self.logfile_read: self.logfile_read.write(c) self.buf += c + # count=0 is supposed to be the default, which indicates + # unlimited substitutions, but in practice the version of + # Python in Ubuntu 14.04 appears to default to count=2! + self.buf = self.re_vt100.sub('', self.buf, count=1000000) finally: if self.logfile_read: self.logfile_read.flush() diff --git a/test/py/u_boot_utils.py b/test/py/u_boot_utils.py index 6a6b2ec0e66..e4765e38c14 100644 --- a/test/py/u_boot_utils.py +++ b/test/py/u_boot_utils.py @@ -201,7 +201,7 @@ def find_ram_base(u_boot_console): with u_boot_console.log.section('find_ram_base'): response = u_boot_console.run_command('bdinfo') for l in response.split('\n'): - if '-> start' in l: + if '-> start' in l or 'memstart =' in l: ram_base = int(l.split('=')[1].strip(), 16) break if ram_base is None: |