From f58ebbdfb5f48089bb3df088654d5bf735dab2c2 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Fri, 21 Aug 2015 15:41:35 +0100 Subject: [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 --- src/core/main.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/core') diff --git a/src/core/main.c b/src/core/main.c index 97394d71d..638dea9cf 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -26,6 +26,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); * @ret rc Return status code */ __asmcall int main ( void ) { + int rc; /* Perform one-time-only initialisation (e.g. heap) */ initialise(); @@ -35,9 +36,11 @@ __asmcall int main ( void ) { startup(); printf ( "ok\n" ); - ipxe ( NULL ); + /* Attempt to boot */ + if ( ( rc = ipxe ( NULL ) ) != 0 ) + goto err_ipxe; + err_ipxe: shutdown_exit(); - - return 0; + return rc; } -- cgit v1.2.3-55-g7522