mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-11 18:06:13 +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
|
* Waits for a key press when run interactively and when the corresponding debug
|
||||||
* terminal immediately continues.
|
* 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
|
* 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;
|
struct termios oldt, newt;
|
||||||
|
const char *env;
|
||||||
|
|
||||||
if (!isatty(STDIN_FILENO))
|
if (!isatty(STDIN_FILENO))
|
||||||
return;
|
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 );
|
tcgetattr ( STDIN_FILENO, &oldt );
|
||||||
newt = oldt;
|
newt = oldt;
|
||||||
newt.c_lflag &= ~( ICANON | ECHO );
|
newt.c_lflag &= ~( ICANON | ECHO );
|
||||||
|
@ -56,7 +56,7 @@ void igt_system_suspend_autoresume(void);
|
|||||||
/* dropping priviledges */
|
/* dropping priviledges */
|
||||||
void igt_drop_root(void);
|
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 {
|
enum igt_runtime_pm_status {
|
||||||
IGT_RUNTIME_PM_STATUS_ACTIVE,
|
IGT_RUNTIME_PM_STATUS_ACTIVE,
|
||||||
|
@ -1401,8 +1401,7 @@ static int do_display_commit(igt_display_t *display,
|
|||||||
|
|
||||||
LOG_UNINDENT(display);
|
LOG_UNINDENT(display);
|
||||||
|
|
||||||
if (getenv("IGT_DISPLAY_WAIT_AT_COMMIT"))
|
igt_debug_wait_for_keypress("modeset");
|
||||||
igt_wait_for_keypress();
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user