Show stdout on error in fit-test

When this test fails it is useful to see the output from U-Boot. Add
printing of this information on failure.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2013-06-11 11:14:36 -07:00 committed by Tom Rini
parent 92765f4209
commit aec36cfdac
1 changed files with 10 additions and 9 deletions

View File

@ -272,12 +272,13 @@ def set_test(name):
test_name = name test_name = name
print name print name
def fail(msg): def fail(msg, stdout):
"""Raise an error with a helpful failure message """Raise an error with a helpful failure message
Args: Args:
msg: Message to display msg: Message to display
""" """
print stdout
raise ValueError("Test '%s' failed: %s" % (test_name, msg)) raise ValueError("Test '%s' failed: %s" % (test_name, msg))
def run_fit_test(mkimage, u_boot): def run_fit_test(mkimage, u_boot):
@ -341,11 +342,11 @@ def run_fit_test(mkimage, u_boot):
set_test('Kernel load') set_test('Kernel load')
stdout = command.Output(u_boot, '-d', control_dtb, '-c', cmd) stdout = command.Output(u_boot, '-d', control_dtb, '-c', cmd)
if read_file(kernel) != read_file(kernel_out): if read_file(kernel) != read_file(kernel_out):
fail('Kernel not loaded') fail('Kernel not loaded', stdout)
if read_file(control_dtb) == read_file(fdt_out): if read_file(control_dtb) == read_file(fdt_out):
fail('FDT loaded but should be ignored') fail('FDT loaded but should be ignored', stdout)
if read_file(ramdisk) == read_file(ramdisk_out): if read_file(ramdisk) == read_file(ramdisk_out):
fail('Ramdisk loaded but should not be') fail('Ramdisk loaded but should not be', stdout)
# Find out the offset in the FIT where U-Boot has found the FDT # Find out the offset in the FIT where U-Boot has found the FDT
line = find_matching(stdout, 'Booting using the fdt blob at ') line = find_matching(stdout, 'Booting using the fdt blob at ')
@ -357,7 +358,7 @@ def run_fit_test(mkimage, u_boot):
real_fit_offset = data.find(fdt_magic, 4) real_fit_offset = data.find(fdt_magic, 4)
if fit_offset != real_fit_offset: if fit_offset != real_fit_offset:
fail('U-Boot loaded FDT from offset %#x, FDT is actually at %#x' % fail('U-Boot loaded FDT from offset %#x, FDT is actually at %#x' %
(fit_offset, real_fit_offset)) (fit_offset, real_fit_offset), stdout)
# Now a kernel and an FDT # Now a kernel and an FDT
set_test('Kernel + FDT load') set_test('Kernel + FDT load')
@ -365,11 +366,11 @@ def run_fit_test(mkimage, u_boot):
fit = make_fit(mkimage, params) fit = make_fit(mkimage, params)
stdout = command.Output(u_boot, '-d', control_dtb, '-c', cmd) stdout = command.Output(u_boot, '-d', control_dtb, '-c', cmd)
if read_file(kernel) != read_file(kernel_out): if read_file(kernel) != read_file(kernel_out):
fail('Kernel not loaded') fail('Kernel not loaded', stdout)
if read_file(control_dtb) != read_file(fdt_out): if read_file(control_dtb) != read_file(fdt_out):
fail('FDT not loaded') fail('FDT not loaded', stdout)
if read_file(ramdisk) == read_file(ramdisk_out): if read_file(ramdisk) == read_file(ramdisk_out):
fail('Ramdisk loaded but should not be') fail('Ramdisk loaded but should not be', stdout)
# Try a ramdisk # Try a ramdisk
set_test('Kernel + FDT + Ramdisk load') set_test('Kernel + FDT + Ramdisk load')
@ -378,7 +379,7 @@ def run_fit_test(mkimage, u_boot):
fit = make_fit(mkimage, params) fit = make_fit(mkimage, params)
stdout = command.Output(u_boot, '-d', control_dtb, '-c', cmd) stdout = command.Output(u_boot, '-d', control_dtb, '-c', cmd)
if read_file(ramdisk) != read_file(ramdisk_out): if read_file(ramdisk) != read_file(ramdisk_out):
fail('Ramdisk not loaded') fail('Ramdisk not loaded', stdout)
def run_tests(): def run_tests():
"""Parse options, run the FIT tests and print the result""" """Parse options, run the FIT tests and print the result"""