diff options
| -rw-r--r-- | include/post.h | 5 | ||||
| -rw-r--r-- | post/post.c | 17 | 
2 files changed, 20 insertions, 2 deletions
| diff --git a/include/post.h b/include/post.h index 9fcd3cec2..ff83bce6b 100644 --- a/include/post.h +++ b/include/post.h @@ -53,6 +53,11 @@  #define POST_FAIL_SAVE		0x80 +#define POST_BEFORE		1 +#define POST_AFTER		0 +#define POST_PASSED		1 +#define POST_FAILED		0 +  #ifndef	__ASSEMBLY__  struct post_test { diff --git a/post/post.c b/post/post.c index b29eb87fc..00e835325 100644 --- a/post/post.c +++ b/post/post.c @@ -231,6 +231,12 @@ static void post_get_flags (int *test_flags)  	}  } +void __show_post_progress (unsigned int test_num, int before, int result) +{ +} +void show_post_progress (unsigned int, int, int) +			__attribute__((weak, alias("__show_post_progress"))); +  static int post_run_single (struct post_test *test,  				int test_flags, int flags, unsigned int i)  { @@ -248,13 +254,18 @@ static int post_run_single (struct post_test *test,  			if (test_flags & POST_PREREL)  				post_log_mark_start ( test->testid );  			else -			post_log ("POST %s ", test->cmd); +				post_log ("POST %s ", test->cmd);  		} +		show_post_progress(i, POST_BEFORE, POST_FAILED); +  		if (test_flags & POST_PREREL) { -			if ((*test->test) (flags) == 0) +			if ((*test->test) (flags) == 0) {  				post_log_mark_succ ( test->testid ); +				show_post_progress(i, POST_AFTER, POST_PASSED); +			}  			else { +				show_post_progress(i, POST_AFTER, POST_FAILED);  				if (test_flags & POST_CRITICAL)  					gd->flags |= GD_FLG_POSTFAIL;  				if (test_flags & POST_STOP) @@ -264,6 +275,7 @@ static int post_run_single (struct post_test *test,  		if ((*test->test) (flags) != 0) {  			post_log ("FAILED\n");  			show_boot_progress (-32); +			show_post_progress(i, POST_AFTER, POST_FAILED);  			if (test_flags & POST_CRITICAL)  				gd->flags |= GD_FLG_POSTFAIL;  			if (test_flags & POST_STOP) @@ -271,6 +283,7 @@ static int post_run_single (struct post_test *test,  		}  		else  			post_log ("PASSED\n"); +			show_post_progress(i, POST_AFTER, POST_PASSED);  		}  		if ((test_flags & POST_REBOOT) && !(flags & POST_MANUAL)) { |