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>
This commit is contained in:
Rodrigo Vivi 2015-01-12 10:21:58 -08:00 committed by Daniel Vetter
parent eeff390598
commit 3d65ff780d
4 changed files with 22 additions and 11 deletions

View File

@ -450,32 +450,32 @@ void igt_drop_root(void)
/** /**
* igt_debug_wait_for_keypress: * 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 * 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 * 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 * should happen for all cases.
* setting is ignored and execution immediately continues. *
* 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 * This is useful for display tests where under certain situation manual
* inspection of the display is useful. Or when running a testcase in the * inspection of the display is useful. Or when running a testcase in the
* background. * background.
*/ */
void igt_debug_wait_for_keypress(const char *key) void igt_debug_wait_for_keypress(const char *var)
{ {
struct termios oldt, newt; struct termios oldt, newt;
const char *env;
if (!isatty(STDIN_FILENO)) if (!isatty(STDIN_FILENO))
return; return;
env = getenv("IGT_DEBUG_INTERACTIVE"); if (!igt_interactive_debug)
if (!env)
return; return;
if (!strstr(env, key) && !strstr(env, "all")) if (!strstr(igt_interactive_debug, var) &&
!strstr(igt_interactive_debug, "all"))
return; return;
igt_info("Press any key to continue ...\n"); igt_info("Press any key to continue ...\n");

View File

@ -64,7 +64,7 @@ void igt_system_suspend_autoresume(void);
/* dropping priviledges */ /* dropping priviledges */
void igt_drop_root(void); 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 { enum igt_runtime_pm_status {
IGT_RUNTIME_PM_STATUS_ACTIVE, IGT_RUNTIME_PM_STATUS_ACTIVE,

View File

@ -233,6 +233,7 @@ enum {
OPT_RUN_SUBTEST, OPT_RUN_SUBTEST,
OPT_DESCRIPTION, OPT_DESCRIPTION,
OPT_DEBUG, OPT_DEBUG,
OPT_INTERACTIVE_DEBUG,
OPT_HELP = 'h' OPT_HELP = 'h'
}; };
@ -403,6 +404,7 @@ static void print_usage(const char *help_str, bool output_on_stderr)
fprintf(f, " --list-subtests\n" fprintf(f, " --list-subtests\n"
" --run-subtest <pattern>\n" " --run-subtest <pattern>\n"
" --debug[=log-domain]\n" " --debug[=log-domain]\n"
" --interactive-debug[=domain]\n"
" --help-description\n" " --help-description\n"
" --help\n"); " --help\n");
if (help_str) if (help_str)
@ -435,6 +437,7 @@ static int common_init(int argc, char **argv,
{"run-subtest", 1, 0, OPT_RUN_SUBTEST}, {"run-subtest", 1, 0, OPT_RUN_SUBTEST},
{"help-description", 0, 0, OPT_DESCRIPTION}, {"help-description", 0, 0, OPT_DESCRIPTION},
{"debug", optional_argument, 0, OPT_DEBUG}, {"debug", optional_argument, 0, OPT_DEBUG},
{"interactive-debug", optional_argument, 0, OPT_INTERACTIVE_DEBUG},
{"help", 0, 0, OPT_HELP}, {"help", 0, 0, OPT_HELP},
{0, 0, 0, 0} {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, while ((c = getopt_long(argc, argv, short_opts, combined_opts,
&option_index)) != -1) { &option_index)) != -1) {
switch(c) { 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: case OPT_DEBUG:
igt_log_level = IGT_LOG_DEBUG; igt_log_level = IGT_LOG_DEBUG;
if (optarg && strlen(optarg) > 0) if (optarg && strlen(optarg) > 0)

View File

@ -516,6 +516,8 @@ bool igt_run_in_simulation(void);
void igt_skip_on_simulation(void); void igt_skip_on_simulation(void);
const char *igt_interactive_debug;
/* structured logging */ /* structured logging */
enum igt_log_level { enum igt_log_level {
IGT_LOG_DEBUG, IGT_LOG_DEBUG,