summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2015-11-08 23:47:50 -0700
committerSimon Glass <sjg@chromium.org>2015-11-19 20:27:51 -0700
commit9ce8b40206f4f96de6164c2a0c0a725c9323c4b9 (patch)
tree97b5a359149976a31ca4e5b273ea945dd62280b1 /test
parent61b4d3558e9236ee9554a0da65f8ce139cbd3560 (diff)
downloadu-boot-imx-9ce8b40206f4f96de6164c2a0c0a725c9323c4b9.zip
u-boot-imx-9ce8b40206f4f96de6164c2a0c0a725c9323c4b9.tar.gz
u-boot-imx-9ce8b40206f4f96de6164c2a0c0a725c9323c4b9.tar.bz2
test: Record and silence console in tests
When running sandbox tests, silence the console to avoid unwanted output. Also, record the console in case tests want to check it. The -v option can be used to enable stdout during tests. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'test')
-rw-r--r--test/dm/test-main.c9
-rw-r--r--test/ut.c4
2 files changed, 13 insertions, 0 deletions
diff --git a/test/dm/test-main.c b/test/dm/test-main.c
index 867b517..91bdda8 100644
--- a/test/dm/test-main.c
+++ b/test/dm/test-main.c
@@ -76,6 +76,7 @@ static int dm_test_main(const char *test_name)
struct unit_test *tests = ll_entry_start(struct unit_test, dm_test);
const int n_ents = ll_entry_count(struct unit_test, dm_test);
struct unit_test_state *uts = &global_dm_test_state;
+ struct sandbox_state *state = state_get_current();
uts->priv = &_global_priv_dm_test_state;
struct unit_test *test;
int run_count;
@@ -114,7 +115,15 @@ static int dm_test_main(const char *test_name)
if (test->flags & DM_TESTF_SCAN_FDT)
ut_assertok(dm_scan_fdt(gd->fdt_blob, false));
+ /*
+ * Silence the console and rely on console reocrding to get
+ * our output.
+ */
+ console_record_reset();
+ if (!state->show_test_output)
+ gd->flags |= GD_FLG_SILENT;
test->func(uts);
+ gd->flags &= ~GD_FLG_SILENT;
state_set_skip_delays(false);
ut_assertok(dm_test_destroy(uts));
diff --git a/test/ut.c b/test/ut.c
index 0282de5..fa0f02d 100644
--- a/test/ut.c
+++ b/test/ut.c
@@ -10,9 +10,12 @@
#include <test/test.h>
#include <test/ut.h>
+DECLARE_GLOBAL_DATA_PTR;
+
void ut_fail(struct unit_test_state *uts, const char *fname, int line,
const char *func, const char *cond)
{
+ gd->flags &= ~(GD_FLG_SILENT | GD_FLG_RECORD);
printf("%s:%d, %s(): %s\n", fname, line, func, cond);
uts->fail_count++;
}
@@ -22,6 +25,7 @@ void ut_failf(struct unit_test_state *uts, const char *fname, int line,
{
va_list args;
+ gd->flags &= ~(GD_FLG_SILENT | GD_FLG_RECORD);
printf("%s:%d, %s(): %s: ", fname, line, func, cond);
va_start(args, fmt);
vprintf(fmt, args);