summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Wood <thomas.wood@intel.com>2015-11-09 17:17:24 +0000
committerThomas Wood <thomas.wood@intel.com>2015-11-11 14:52:47 +0000
commit790f1f804b062c47fb1bf686bfa3b0f2e69ee947 (patch)
tree649b6d03e425add53ded3336281026e5aa597b1a
parentfca7b1b5fd2d61dfec6a612f1a2798270d1f8a4e (diff)
lib: add a environment variable to control output
Disable output of terminal control characters and progress meters when IGT_PLAIN_OUTPUT is set in the environment. Cc: Derek Morton <derek.j.morton@intel.com> Signed-off-by: Thomas Wood <thomas.wood@intel.com>
-rw-r--r--lib/igt_aux.c2
-rw-r--r--lib/igt_core.c23
-rw-r--r--lib/igt_core.h2
3 files changed, 17 insertions, 10 deletions
diff --git a/lib/igt_aux.c b/lib/igt_aux.c
index f3c76aeb..4d08d68b 100644
--- a/lib/igt_aux.c
+++ b/lib/igt_aux.c
@@ -231,7 +231,7 @@ static void igt_interactive_info(const char *format, ...)
{
va_list args;
- if (!isatty(STDERR_FILENO))
+ if (!isatty(STDERR_FILENO) || __igt_plain_output)
return;
if (igt_log_level > IGT_LOG_INFO)
diff --git a/lib/igt_core.c b/lib/igt_core.c
index 7e99b24f..04a0ab21 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -227,6 +227,8 @@ static enum {
CONT = 0, SKIP, FAIL
} skip_subtests_henceforth = CONT;
+bool __igt_plain_output = false;
+
/* fork support state */
pid_t *test_children;
int num_test_children;
@@ -523,11 +525,15 @@ static int common_init(int *argc, char **argv,
int extra_opt_count;
int all_opt_count;
int ret = 0;
- char *env = getenv("IGT_LOG_LEVEL");
+ const char *env;
+
+ if (!isatty(STDOUT_FILENO) || getenv("IGT_PLAIN_OUTPUT"))
+ __igt_plain_output = true;
- if (isatty(STDOUT_FILENO))
+ if (!__igt_plain_output)
setlocale(LC_ALL, "");
+ env = getenv("IGT_LOG_LEVEL");
if (env) {
if (strcmp(env, "debug") == 0)
igt_log_level = IGT_LOG_DEBUG;
@@ -779,12 +785,10 @@ bool __igt_run_subtest(const char *subtest_name)
}
if (skip_subtests_henceforth) {
- bool istty = isatty(STDOUT_FILENO);
-
printf("%sSubtest %s: %s%s\n",
- (istty) ? "\x1b[1m" : "", subtest_name,
+ (!__igt_plain_output) ? "\x1b[1m" : "", subtest_name,
skip_subtests_henceforth == SKIP ?
- "SKIP" : "FAIL", (istty) ? "\x1b[0m" : "");
+ "SKIP" : "FAIL", (!__igt_plain_output) ? "\x1b[0m" : "");
return false;
}
@@ -828,14 +832,15 @@ static void exit_subtest(const char *result)
{
struct timespec now;
double elapsed;
- bool istty = isatty(STDOUT_FILENO);
gettime(&now);
elapsed = now.tv_sec - subtest_time.tv_sec;
elapsed += (now.tv_nsec - subtest_time.tv_nsec) * 1e-9;
- printf("%sSubtest %s: %s (%.3fs)%s\n", (istty) ? "\x1b[1m" : "",
- in_subtest, result, elapsed, (istty) ? "\x1b[0m" : "");
+ printf("%sSubtest %s: %s (%.3fs)%s\n",
+ (!__igt_plain_output) ? "\x1b[1m" : "",
+ in_subtest, result, elapsed,
+ (!__igt_plain_output) ? "\x1b[0m" : "");
fflush(stdout);
in_subtest = NULL;
diff --git a/lib/igt_core.h b/lib/igt_core.h
index 5ae09653..a244fc39 100644
--- a/lib/igt_core.h
+++ b/lib/igt_core.h
@@ -45,6 +45,8 @@
extern const char* __igt_test_description __attribute__((weak));
+extern bool __igt_plain_output;
+
/**
* IGT_TEST_DESCRIPTION: