[test] Allow self-tests to report exit status when running under Linux

Allow the return status from an embedded image to propagate out to the
eventual return status from main().  When running under Linux, this
allows the pass/fail result of unit tests to be observable without
having to visually inspect the console output.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown
2015-08-21 15:41:35 +01:00
parent fb4ce72e64
commit f58ebbdfb5
4 changed files with 23 additions and 18 deletions

View File

@@ -871,6 +871,7 @@ efi_snp_load_file ( EFI_LOAD_FILE_PROTOCOL *load_file,
struct efi_snp_device *snpdev =
container_of ( load_file, struct efi_snp_device, load_file );
struct net_device *netdev = snpdev->netdev;
int rc;
/* Fail unless this is a boot attempt */
if ( ! booting ) {
@@ -886,16 +887,13 @@ efi_snp_load_file ( EFI_LOAD_FILE_PROTOCOL *load_file,
efi_watchdog_start();
/* Boot from network device */
ipxe ( netdev );
if ( ( rc = ipxe ( netdev ) ) != 0 )
goto err_ipxe;
/* Stop watchdog holdoff timer */
err_ipxe:
efi_watchdog_stop();
/* Release network devices for use via SNP */
efi_snp_release();
/* Assume boot process was aborted */
return EFI_ABORTED;
return EFIRC ( rc );
}
/** Load file protocol */