mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-10 09:26:10 +00:00
lib/igt_aux: Improve wait_for_keypress helper a bit
- Use keys in just one env variable to enable/disable it. - Add an informational message so that the users knows when to press the key (more useful over ssh than when run on the terminal ofc). - Improve the documentation so that it's clearer how to use this when running tests. Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Damien Lespiau <damien.lespiau@intel.com> Acked-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
a16ebccaee
commit
c49542af07
@ -344,21 +344,37 @@ void igt_drop_root(void)
|
||||
}
|
||||
|
||||
/**
|
||||
* igt_wait_for_keypress:
|
||||
* igt_debug_wait_for_keypress:
|
||||
* @key: env var lookup to to enable this wait
|
||||
*
|
||||
* Waits for a key press when run interactively. When not connected to a
|
||||
* terminal immediately continues.
|
||||
* 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
|
||||
* 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 enviroment
|
||||
* setting is ignored and execution immediately continues.
|
||||
*
|
||||
* This is useful for display tests where under certain situation manual
|
||||
* inspection of the display is useful.
|
||||
* inspection of the display is useful. Or when running a testcase in the
|
||||
* background.
|
||||
*/
|
||||
void igt_wait_for_keypress(void)
|
||||
void igt_debug_wait_for_keypress(const char *key)
|
||||
{
|
||||
struct termios oldt, newt;
|
||||
const char *env;
|
||||
|
||||
if (!isatty(STDIN_FILENO))
|
||||
return;
|
||||
|
||||
env = getenv("IGT_DEBUG_INTERACTIVE");
|
||||
|
||||
if (!env)
|
||||
return;
|
||||
|
||||
if (!strstr(env, key) && !strstr(env, "all"))
|
||||
return;
|
||||
|
||||
igt_info("Press any key to continue ...\n");
|
||||
|
||||
tcgetattr ( STDIN_FILENO, &oldt );
|
||||
newt = oldt;
|
||||
newt.c_lflag &= ~( ICANON | ECHO );
|
||||
|
@ -56,7 +56,7 @@ void igt_system_suspend_autoresume(void);
|
||||
/* dropping priviledges */
|
||||
void igt_drop_root(void);
|
||||
|
||||
void igt_wait_for_keypress(void);
|
||||
void igt_debug_wait_for_keypress(const char *key);
|
||||
|
||||
enum igt_runtime_pm_status {
|
||||
IGT_RUNTIME_PM_STATUS_ACTIVE,
|
||||
|
@ -1401,8 +1401,7 @@ static int do_display_commit(igt_display_t *display,
|
||||
|
||||
LOG_UNINDENT(display);
|
||||
|
||||
if (getenv("IGT_DISPLAY_WAIT_AT_COMMIT"))
|
||||
igt_wait_for_keypress();
|
||||
igt_debug_wait_for_keypress("modeset");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user