summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRodrigo Vivi <rodrigo.vivi@intel.com>2015-01-12 10:21:58 -0800
committerDaniel Vetter <daniel.vetter@ffwll.ch>2015-01-20 11:36:10 +0100
commit3d65ff780d6d7a1b354bd530942a194a97f73dca (patch)
tree4b747685090c905933574634c8b93c7ed6dc0c22
parenteeff390598f6bf7292a9775cc6c470207f90a128 (diff)
lib: s/IGT_DEBUG_INTERACTIVE/--interactive-debug=var
Use cmdline variable for interactive debug instead of env var. v2: Make interactive-debug domain optional and use "all" when not set. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--lib/igt_aux.c20
-rw-r--r--lib/igt_aux.h2
-rw-r--r--lib/igt_core.c9
-rw-r--r--lib/igt_core.h2
4 files changed, 22 insertions, 11 deletions
diff --git a/lib/igt_aux.c b/lib/igt_aux.c
index 76681062..49ef4625 100644
--- a/lib/igt_aux.c
+++ b/lib/igt_aux.c
@@ -450,32 +450,32 @@ void igt_drop_root(void)
/**
* igt_debug_wait_for_keypress:
- * @key: env var lookup to to enable this wait
+ * @var: var lookup to to enable this wait
*
* Waits for a key press when run interactively and when the corresponding debug
- * key is set in the IGT_DEBUG_INTERACTIVE environment variable. Multiple keys
+ * var is set in the --interactive-debug=<var> variable. Multiple keys
* can be specified as a comma-separated list or alternatively "all" if a wait
- * should happen for all keys. When not connected to a terminal the environment
- * setting is ignored and execution immediately continues.
+ * should happen for all cases.
+ *
+ * When not connected to a terminal interactive_debug is ignored
+ * and execution immediately continues.
*
* This is useful for display tests where under certain situation manual
* inspection of the display is useful. Or when running a testcase in the
* background.
*/
-void igt_debug_wait_for_keypress(const char *key)
+void igt_debug_wait_for_keypress(const char *var)
{
struct termios oldt, newt;
- const char *env;
if (!isatty(STDIN_FILENO))
return;
- env = getenv("IGT_DEBUG_INTERACTIVE");
-
- if (!env)
+ if (!igt_interactive_debug)
return;
- if (!strstr(env, key) && !strstr(env, "all"))
+ if (!strstr(igt_interactive_debug, var) &&
+ !strstr(igt_interactive_debug, "all"))
return;
igt_info("Press any key to continue ...\n");
diff --git a/lib/igt_aux.h b/lib/igt_aux.h
index e1909a98..798a5b45 100644
--- a/lib/igt_aux.h
+++ b/lib/igt_aux.h
@@ -64,7 +64,7 @@ void igt_system_suspend_autoresume(void);
/* dropping priviledges */
void igt_drop_root(void);
-void igt_debug_wait_for_keypress(const char *key);
+void igt_debug_wait_for_keypress(const char *var);
enum igt_runtime_pm_status {
IGT_RUNTIME_PM_STATUS_ACTIVE,
diff --git a/lib/igt_core.c b/lib/igt_core.c
index 87a13a76..7b47b32b 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -233,6 +233,7 @@ enum {
OPT_RUN_SUBTEST,
OPT_DESCRIPTION,
OPT_DEBUG,
+ OPT_INTERACTIVE_DEBUG,
OPT_HELP = 'h'
};
@@ -403,6 +404,7 @@ static void print_usage(const char *help_str, bool output_on_stderr)
fprintf(f, " --list-subtests\n"
" --run-subtest <pattern>\n"
" --debug[=log-domain]\n"
+ " --interactive-debug[=domain]\n"
" --help-description\n"
" --help\n");
if (help_str)
@@ -435,6 +437,7 @@ static int common_init(int argc, char **argv,
{"run-subtest", 1, 0, OPT_RUN_SUBTEST},
{"help-description", 0, 0, OPT_DESCRIPTION},
{"debug", optional_argument, 0, OPT_DEBUG},
+ {"interactive-debug", optional_argument, 0, OPT_INTERACTIVE_DEBUG},
{"help", 0, 0, OPT_HELP},
{0, 0, 0, 0}
};
@@ -520,6 +523,12 @@ static int common_init(int argc, char **argv,
while ((c = getopt_long(argc, argv, short_opts, combined_opts,
&option_index)) != -1) {
switch(c) {
+ case OPT_INTERACTIVE_DEBUG:
+ if (optarg && strlen(optarg) > 0)
+ igt_interactive_debug = strdup(optarg);
+ else
+ igt_interactive_debug = "all";
+ break;
case OPT_DEBUG:
igt_log_level = IGT_LOG_DEBUG;
if (optarg && strlen(optarg) > 0)
diff --git a/lib/igt_core.h b/lib/igt_core.h
index bc4ba0aa..00869459 100644
--- a/lib/igt_core.h
+++ b/lib/igt_core.h
@@ -516,6 +516,8 @@ bool igt_run_in_simulation(void);
void igt_skip_on_simulation(void);
+const char *igt_interactive_debug;
+
/* structured logging */
enum igt_log_level {
IGT_LOG_DEBUG,