mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-08 19:11:53 +00:00
Merge git://git.denx.de/u-boot-dm
This commit is contained in:
commit
1703fbefd9
8 changed files with 30 additions and 22 deletions
|
@ -18,11 +18,15 @@ import os
|
||||||
import os.path
|
import os.path
|
||||||
import pytest
|
import pytest
|
||||||
from _pytest.runner import runtestprotocol
|
from _pytest.runner import runtestprotocol
|
||||||
import ConfigParser
|
|
||||||
import re
|
import re
|
||||||
import StringIO
|
import StringIO
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
try:
|
||||||
|
import configparser
|
||||||
|
except:
|
||||||
|
import ConfigParser as configparser
|
||||||
|
|
||||||
# Globals: The HTML log file, and the connection to the U-Boot console.
|
# Globals: The HTML log file, and the connection to the U-Boot console.
|
||||||
log = None
|
log = None
|
||||||
console = None
|
console = None
|
||||||
|
@ -166,7 +170,7 @@ def pytest_configure(config):
|
||||||
with open(dot_config, 'rt') as f:
|
with open(dot_config, 'rt') as f:
|
||||||
ini_str = '[root]\n' + f.read()
|
ini_str = '[root]\n' + f.read()
|
||||||
ini_sio = StringIO.StringIO(ini_str)
|
ini_sio = StringIO.StringIO(ini_str)
|
||||||
parser = ConfigParser.RawConfigParser()
|
parser = configparser.RawConfigParser()
|
||||||
parser.readfp(ini_sio)
|
parser.readfp(ini_sio)
|
||||||
ubconfig.buildconfig.update(parser.items('root'))
|
ubconfig.buildconfig.update(parser.items('root'))
|
||||||
|
|
||||||
|
@ -586,7 +590,7 @@ def pytest_runtest_protocol(item, nextitem):
|
||||||
# is fixed, if this exception still exists, it will then be logged as
|
# is fixed, if this exception still exists, it will then be logged as
|
||||||
# part of the test's stdout.
|
# part of the test's stdout.
|
||||||
import traceback
|
import traceback
|
||||||
print 'Exception occurred while logging runtest status:'
|
print('Exception occurred while logging runtest status:')
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
# FIXME: Can we force a test failure here?
|
# FIXME: Can we force a test failure here?
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,8 @@
|
||||||
# Wrapper script to invoke pytest with the directory name that contains the
|
# Wrapper script to invoke pytest with the directory name that contains the
|
||||||
# U-Boot tests.
|
# U-Boot tests.
|
||||||
|
|
||||||
|
from __future__ import print_function
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import os.path
|
import os.path
|
||||||
import sys
|
import sys
|
||||||
|
@ -26,7 +28,7 @@ except:
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
# Hint to the user that they likely simply haven't installed the required
|
# Hint to the user that they likely simply haven't installed the required
|
||||||
# dependencies.
|
# dependencies.
|
||||||
print >>sys.stderr, '''
|
print('''
|
||||||
exec(py.test) failed; perhaps you are missing some dependencies?
|
exec(py.test) failed; perhaps you are missing some dependencies?
|
||||||
See test/py/README.md for the list.'''
|
See test/py/README.md for the list.''', file=sys.stderr)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
#
|
#
|
||||||
# Sanity check of the FIT handling in U-Boot
|
# Sanity check of the FIT handling in U-Boot
|
||||||
|
|
||||||
|
from __future__ import print_function
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import pytest
|
import pytest
|
||||||
import struct
|
import struct
|
||||||
|
@ -141,7 +143,7 @@ def test_fit(u_boot_console):
|
||||||
Returns:
|
Returns:
|
||||||
Contents of file as a string
|
Contents of file as a string
|
||||||
"""
|
"""
|
||||||
with open(fname, 'r') as fd:
|
with open(fname, 'rb') as fd:
|
||||||
return fd.read()
|
return fd.read()
|
||||||
|
|
||||||
def make_dtb():
|
def make_dtb():
|
||||||
|
@ -153,7 +155,7 @@ def test_fit(u_boot_console):
|
||||||
src = make_fname('u-boot.dts')
|
src = make_fname('u-boot.dts')
|
||||||
dtb = make_fname('u-boot.dtb')
|
dtb = make_fname('u-boot.dtb')
|
||||||
with open(src, 'w') as fd:
|
with open(src, 'w') as fd:
|
||||||
print >> fd, base_fdt
|
print(base_fdt, file=fd)
|
||||||
util.run_and_log(cons, ['dtc', src, '-O', 'dtb', '-o', dtb])
|
util.run_and_log(cons, ['dtc', src, '-O', 'dtb', '-o', dtb])
|
||||||
return dtb
|
return dtb
|
||||||
|
|
||||||
|
@ -167,7 +169,7 @@ def test_fit(u_boot_console):
|
||||||
"""
|
"""
|
||||||
its = make_fname('test.its')
|
its = make_fname('test.its')
|
||||||
with open(its, 'w') as fd:
|
with open(its, 'w') as fd:
|
||||||
print >> fd, base_its % params
|
print(base_its % params, file=fd)
|
||||||
return its
|
return its
|
||||||
|
|
||||||
def make_fit(mkimage, params):
|
def make_fit(mkimage, params):
|
||||||
|
@ -186,7 +188,7 @@ def test_fit(u_boot_console):
|
||||||
its = make_its(params)
|
its = make_its(params)
|
||||||
util.run_and_log(cons, [mkimage, '-f', its, fit])
|
util.run_and_log(cons, [mkimage, '-f', its, fit])
|
||||||
with open(make_fname('u-boot.dts'), 'w') as fd:
|
with open(make_fname('u-boot.dts'), 'w') as fd:
|
||||||
print >> fd, base_fdt
|
print(base_fdt, file=fd)
|
||||||
return fit
|
return fit
|
||||||
|
|
||||||
def make_kernel(filename, text):
|
def make_kernel(filename, text):
|
||||||
|
@ -202,7 +204,7 @@ def test_fit(u_boot_console):
|
||||||
for i in range(100):
|
for i in range(100):
|
||||||
data += 'this %s %d is unlikely to boot\n' % (text, i)
|
data += 'this %s %d is unlikely to boot\n' % (text, i)
|
||||||
with open(fname, 'w') as fd:
|
with open(fname, 'w') as fd:
|
||||||
print >> fd, data
|
print(data, file=fd)
|
||||||
return fname
|
return fname
|
||||||
|
|
||||||
def make_ramdisk(filename, text):
|
def make_ramdisk(filename, text):
|
||||||
|
@ -216,7 +218,7 @@ def test_fit(u_boot_console):
|
||||||
for i in range(100):
|
for i in range(100):
|
||||||
data += '%s %d was seldom used in the middle ages\n' % (text, i)
|
data += '%s %d was seldom used in the middle ages\n' % (text, i)
|
||||||
with open(fname, 'w') as fd:
|
with open(fname, 'w') as fd:
|
||||||
print >> fd, data
|
print(data, file=fd)
|
||||||
return fname
|
return fname
|
||||||
|
|
||||||
def find_matching(text, match):
|
def find_matching(text, match):
|
||||||
|
|
|
@ -148,7 +148,7 @@ def test_hush_if_test_host_file_exists(u_boot_console):
|
||||||
exec_hush_if(u_boot_console, expr, False)
|
exec_hush_if(u_boot_console, expr, False)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
with file(test_file, 'wb'):
|
with open(test_file, 'wb'):
|
||||||
pass
|
pass
|
||||||
assert os.path.exists(test_file)
|
assert os.path.exists(test_file)
|
||||||
|
|
||||||
|
|
|
@ -210,8 +210,8 @@ def test_vboot(u_boot_console):
|
||||||
public_exponent = 65537
|
public_exponent = 65537
|
||||||
util.run_and_log(cons, 'openssl genpkey -algorithm RSA -out %sdev.key '
|
util.run_and_log(cons, 'openssl genpkey -algorithm RSA -out %sdev.key '
|
||||||
'-pkeyopt rsa_keygen_bits:2048 '
|
'-pkeyopt rsa_keygen_bits:2048 '
|
||||||
'-pkeyopt rsa_keygen_pubexp:%d '
|
'-pkeyopt rsa_keygen_pubexp:%d' %
|
||||||
'2>/dev/null' % (tmpdir, public_exponent))
|
(tmpdir, public_exponent))
|
||||||
|
|
||||||
# Create a certificate containing the public key
|
# Create a certificate containing the public key
|
||||||
util.run_and_log(cons, 'openssl req -batch -new -x509 -key %sdev.key -out '
|
util.run_and_log(cons, 'openssl req -batch -new -x509 -key %sdev.key -out '
|
||||||
|
|
|
@ -41,7 +41,7 @@ class ConsoleSandbox(ConsoleBase):
|
||||||
bcfg = self.config.buildconfig
|
bcfg = self.config.buildconfig
|
||||||
config_spl = bcfg.get('config_spl', 'n') == 'y'
|
config_spl = bcfg.get('config_spl', 'n') == 'y'
|
||||||
fname = '/spl/u-boot-spl' if config_spl else '/u-boot'
|
fname = '/spl/u-boot-spl' if config_spl else '/u-boot'
|
||||||
print fname
|
print(fname)
|
||||||
cmd = []
|
cmd = []
|
||||||
if self.config.gdbserver:
|
if self.config.gdbserver:
|
||||||
cmd += ['gdbserver', self.config.gdbserver]
|
cmd += ['gdbserver', self.config.gdbserver]
|
||||||
|
@ -81,7 +81,7 @@ class ConsoleSandbox(ConsoleBase):
|
||||||
|
|
||||||
p = self.p
|
p = self.p
|
||||||
self.p = None
|
self.p = None
|
||||||
for i in xrange(100):
|
for i in range(100):
|
||||||
ret = not p.isalive()
|
ret = not p.isalive()
|
||||||
if ret:
|
if ret:
|
||||||
break
|
break
|
||||||
|
|
|
@ -58,7 +58,7 @@ class Spawn(object):
|
||||||
os.chdir(cwd)
|
os.chdir(cwd)
|
||||||
os.execvp(args[0], args)
|
os.execvp(args[0], args)
|
||||||
except:
|
except:
|
||||||
print 'CHILD EXECEPTION:'
|
print('CHILD EXECEPTION:')
|
||||||
import traceback
|
import traceback
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
finally:
|
finally:
|
||||||
|
@ -134,7 +134,7 @@ class Spawn(object):
|
||||||
the expected time.
|
the expected time.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
for pi in xrange(len(patterns)):
|
for pi in range(len(patterns)):
|
||||||
if type(patterns[pi]) == type(''):
|
if type(patterns[pi]) == type(''):
|
||||||
patterns[pi] = re.compile(patterns[pi])
|
patterns[pi] = re.compile(patterns[pi])
|
||||||
|
|
||||||
|
@ -143,7 +143,7 @@ class Spawn(object):
|
||||||
while True:
|
while True:
|
||||||
earliest_m = None
|
earliest_m = None
|
||||||
earliest_pi = None
|
earliest_pi = None
|
||||||
for pi in xrange(len(patterns)):
|
for pi in range(len(patterns)):
|
||||||
pattern = patterns[pi]
|
pattern = patterns[pi]
|
||||||
m = pattern.search(self.buf)
|
m = pattern.search(self.buf)
|
||||||
if not m:
|
if not m:
|
||||||
|
@ -198,7 +198,7 @@ class Spawn(object):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
os.close(self.fd)
|
os.close(self.fd)
|
||||||
for i in xrange(100):
|
for i in range(100):
|
||||||
if not self.isalive():
|
if not self.isalive():
|
||||||
break
|
break
|
||||||
time.sleep(0.1)
|
time.sleep(0.1)
|
||||||
|
|
|
@ -120,7 +120,7 @@ def wait_until_open_succeeds(fn):
|
||||||
An open file handle to the file.
|
An open file handle to the file.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
for i in xrange(100):
|
for i in range(100):
|
||||||
fh = attempt_to_open_file(fn)
|
fh = attempt_to_open_file(fn)
|
||||||
if fh:
|
if fh:
|
||||||
return fh
|
return fh
|
||||||
|
@ -143,7 +143,7 @@ def wait_until_file_open_fails(fn, ignore_errors):
|
||||||
Nothing.
|
Nothing.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
for i in xrange(100):
|
for i in range(100):
|
||||||
fh = attempt_to_open_file(fn)
|
fh = attempt_to_open_file(fn)
|
||||||
if not fh:
|
if not fh:
|
||||||
return
|
return
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue