
On 10/18/19 10:53 PM, Tom Rini wrote:
Use the 2to3 tool to perform numerous automatic conversions from Python 2 syntax to Python 3. Also fix whitespace problems that Python 3 catches that Python 2 did not.
Signed-off-by: Tom Rini trini@konsulko.com
This patch breaks
./test/py/test.py --bd=qemu-arm64 --build-dir=. -k=test_efi_
For remediation see below.
test/py/conftest.py | 9 ++-- test/py/multiplexed_log.py | 4 +- test/py/test.py | 4 +- test/py/tests/test_fit.py | 2 - test/py/tests/test_fpga.py | 46 +++++++++---------- test/py/tests/test_fs/conftest.py | 4 +- test/py/tests/test_log.py | 8 ++-- test/py/tests/test_mmc_wr.py | 74 +++++++++++++++---------------- 8 files changed, 71 insertions(+), 80 deletions(-)
diff --git a/test/py/conftest.py b/test/py/conftest.py index 30c898b40a0d..5c19af1d5034 100644 --- a/test/py/conftest.py +++ b/test/py/conftest.py @@ -19,13 +19,10 @@ import os.path import pytest from _pytest.runner import runtestprotocol import re -import StringIO +import io import sys
-try:
- import configparser
-except:
- import ConfigParser as configparser
+import configparser
# Globals: The HTML log file, and the connection to the U-Boot console. log = None @@ -169,7 +166,7 @@ def pytest_configure(config):
with open(dot_config, 'rt') as f: ini_str = '[root]\n' + f.read()
ini_sio = StringIO.StringIO(ini_str)
ini_sio = io.StringIO(ini_str)
This results in an error
INTERNALERROR> File "/home/user/u-boot/test/py/conftest.py", line 169, in pytest_configure INTERNALERROR> ini_sio = io.StringIO(ini_str) INTERNALERROR> TypeError: initial_value must be unicode or None, not str
- ini_sio = io.StringIO(ini_str) + ini_sio = io.StringIO(ini_str.decode())
parser = configparser.RawConfigParser() parser.readfp(ini_sio) ubconfig.buildconfig.update(parser.items('root'))
diff --git a/test/py/multiplexed_log.py b/test/py/multiplexed_log.py index 637a3bd257ba..de0aacc659b8 100644 --- a/test/py/multiplexed_log.py +++ b/test/py/multiplexed_log.py @@ -5,8 +5,8 @@ # Generate an HTML-formatted log file containing multiple streams of data, # each represented in a well-delineated/-structured fashion.
-import cgi import datetime +import html import os.path import shutil import subprocess @@ -334,7 +334,7 @@ $(document).ready(function () { data = data.replace(chr(13), '') data = ''.join((ord(c) in self._nonprint) and ('%%%02x' % ord(c)) or c for c in data)
data = cgi.escape(data)
data = html.escape(data) return data def _terminate_stream(self):
diff --git a/test/py/test.py b/test/py/test.py index a5140945d4b9..0ce1838833f6 100755 --- a/test/py/test.py +++ b/test/py/test.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 # SPDX-License-Identifier: GPL-2.0
# Copyright (c) 2015 Stephen Warren @@ -7,8 +7,6 @@ # Wrapper script to invoke pytest with the directory name that contains the # U-Boot tests.
-from __future__ import print_function
- import os import os.path import sys
diff --git a/test/py/tests/test_fit.py b/test/py/tests/test_fit.py index e3210ed43fa4..4922b9dcc664 100755 --- a/test/py/tests/test_fit.py +++ b/test/py/tests/test_fit.py
Please, replace all occurrences of
- print(base_fdt, file=fd) + fd.write(base_fdt)
in this file.
Together with the correction in test/py/conftest.py I now can run
./test/py/test.py --bd=qemu-arm64 --build-dir=. -k=test_efi_
using origin/master + patches 1-4.
Best regards
Heinrich
@@ -3,8 +3,6 @@ # # Sanity check of the FIT handling in U-Boot
-from __future__ import print_function
- import os import pytest import struct
diff --git a/test/py/tests/test_fpga.py b/test/py/tests/test_fpga.py index e3bb7b41c749..ca7ef8ea40d6 100644 --- a/test/py/tests/test_fpga.py +++ b/test/py/tests/test_fpga.py @@ -175,29 +175,29 @@ def test_fpga_load_fail(u_boot_console): f, dev, addr, bit, bit_size = load_file_from_var(u_boot_console, 'bitstream_load')
for cmd in ['dump', 'load', 'loadb']:
- # missing dev parameter
- expected = 'fpga: incorrect parameters passed'
- output = u_boot_console.run_command('fpga %s %x $filesize' % (cmd, addr))
- #assert expected in output
- assert expected_usage in output
- # more parameters - 0 at the end
- expected = 'fpga: more parameters passed'
- output = u_boot_console.run_command('fpga %s %x %x $filesize 0' % (cmd, dev, addr))
- #assert expected in output
- assert expected_usage in output
- # 0 address
- expected = 'fpga: zero fpga_data address'
- output = u_boot_console.run_command('fpga %s %x 0 $filesize' % (cmd, dev))
- #assert expected in output
- assert expected_usage in output
- # 0 filesize
- expected = 'fpga: zero size'
- output = u_boot_console.run_command('fpga %s %x %x 0' % (cmd, dev, addr))
- #assert expected in output
- assert expected_usage in output
# missing dev parameter
expected = 'fpga: incorrect parameters passed'
output = u_boot_console.run_command('fpga %s %x $filesize' % (cmd, addr))
#assert expected in output
assert expected_usage in output
# more parameters - 0 at the end
expected = 'fpga: more parameters passed'
output = u_boot_console.run_command('fpga %s %x %x $filesize 0' % (cmd, dev, addr))
#assert expected in output
assert expected_usage in output
# 0 address
expected = 'fpga: zero fpga_data address'
output = u_boot_console.run_command('fpga %s %x 0 $filesize' % (cmd, dev))
#assert expected in output
assert expected_usage in output
# 0 filesize
expected = 'fpga: zero size'
output = u_boot_console.run_command('fpga %s %x %x 0' % (cmd, dev, addr))
#assert expected in output
assert expected_usage in output
@pytest.mark.buildconfigspec('cmd_fpga') @pytest.mark.buildconfigspec('cmd_echo')
diff --git a/test/py/tests/test_fs/conftest.py b/test/py/tests/test_fs/conftest.py index 9324657d2160..354d17672fe4 100644 --- a/test/py/tests/test_fs/conftest.py +++ b/test/py/tests/test_fs/conftest.py @@ -508,8 +508,8 @@ def fs_obj_unlink(request, u_boot_config):
# Test Case 2 check_call('mkdir %s/dir2' % mount_dir, shell=True)
- for i in range(0, 20):
check_call('mkdir %s/dir2/0123456789abcdef%02x'
for i in range(0, 20):
check_call('mkdir %s/dir2/0123456789abcdef%02x' % (mount_dir, i), shell=True) # Test Case 4
diff --git a/test/py/tests/test_log.py b/test/py/tests/test_log.py index cb183444c6fc..75325fad61ad 100644 --- a/test/py/tests/test_log.py +++ b/test/py/tests/test_log.py @@ -27,9 +27,9 @@ def test_log(u_boot_console): """ for i in range(max_level): if mask & 1:
assert 'log_run() log %d' % i == lines.next()
assert 'log_run() log %d' % i == next(lines) if mask & 3:
assert 'func() _log %d' % i == lines.next()
assert 'func() _log %d' % i == next(lines) def run_test(testnum): """Run a particular test number (the 'log test' command)
@@ -43,7 +43,7 @@ def test_log(u_boot_console): output = u_boot_console.run_command('log test %d' % testnum) split = output.replace('\r', '').splitlines() lines = iter(split)
assert 'test %d' % testnum == lines.next()
assert 'test %d' % testnum == next(lines) return lines def test0():
@@ -88,7 +88,7 @@ def test_log(u_boot_console): def test10(): lines = run_test(10) for i in range(7):
assert 'log_test() level %d' % i == lines.next()
assert 'log_test() level %d' % i == next(lines) # TODO(sjg@chromium.org): Consider structuring this as separate tests cons = u_boot_console
diff --git a/test/py/tests/test_mmc_wr.py b/test/py/tests/test_mmc_wr.py index 8b18781eac74..2ce79f58e3b1 100644 --- a/test/py/tests/test_mmc_wr.py +++ b/test/py/tests/test_mmc_wr.py @@ -65,41 +65,39 @@ def test_mmc_wr(u_boot_console, env__mmc_wr_config):
for i in range(test_iterations):
- # Generate random data
- cmd = 'random %s %x' % (src_addr, count_bytes)
- response = u_boot_console.run_command(cmd)
- good_response = '%d bytes filled with random data' % (count_bytes)
- assert good_response in response
- # Select MMC device
- cmd = 'mmc dev %d' % devid
- if is_emmc:
cmd += ' %d' % partid
- response = u_boot_console.run_command(cmd)
- assert 'no card present' not in response
- if is_emmc:
partid_response = "(part %d)" % partid
- else:
partid_response = ""
- good_response = 'mmc%d%s is current device' % (devid, partid_response)
- assert good_response in response
- # Write data
- cmd = 'mmc write %s %x %x' % (src_addr, sector, count_sectors)
- response = u_boot_console.run_command(cmd)
- good_response = 'MMC write: dev # %d, block # %d, count %d ... %d blocks written: OK' % (
devid, sector, count_sectors, count_sectors)
- assert good_response in response
- # Read data
- cmd = 'mmc read %s %x %x' % (dst_addr, sector, count_sectors)
- response = u_boot_console.run_command(cmd)
- good_response = 'MMC read: dev # %d, block # %d, count %d ... %d blocks read: OK' % (
devid, sector, count_sectors, count_sectors)
- assert good_response in response
- # Compare src and dst data
- cmd = 'cmp.b %s %s %x' % (src_addr, dst_addr, count_bytes)
- response = u_boot_console.run_command(cmd)
- good_response = 'Total of %d byte(s) were the same' % (count_bytes)
- assert good_response in response
# Generate random data
cmd = 'random %s %x' % (src_addr, count_bytes)
response = u_boot_console.run_command(cmd)
good_response = '%d bytes filled with random data' % (count_bytes)
assert good_response in response
# Select MMC device
cmd = 'mmc dev %d' % devid
if is_emmc:
cmd += ' %d' % partid
response = u_boot_console.run_command(cmd)
assert 'no card present' not in response
if is_emmc:
partid_response = "(part %d)" % partid
else:
partid_response = ""
good_response = 'mmc%d%s is current device' % (devid, partid_response)
assert good_response in response
# Write data
cmd = 'mmc write %s %x %x' % (src_addr, sector, count_sectors)
response = u_boot_console.run_command(cmd)
good_response = 'MMC write: dev # %d, block # %d, count %d ... %d blocks written: OK' % (devid, sector, count_sectors, count_sectors)
assert good_response in response
# Read data
cmd = 'mmc read %s %x %x' % (dst_addr, sector, count_sectors)
response = u_boot_console.run_command(cmd)
good_response = 'MMC read: dev # %d, block # %d, count %d ... %d blocks read: OK' % (devid, sector, count_sectors, count_sectors)
assert good_response in response
# Compare src and dst data
cmd = 'cmp.b %s %s %x' % (src_addr, dst_addr, count_bytes)
response = u_boot_console.run_command(cmd)
good_response = 'Total of %d byte(s) were the same' % (count_bytes)
assert good_response in response