mirror of
				https://github.com/tiagovignatti/intel-gpu-tools.git
				synced 2025-11-04 12:07:12 +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