51 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
| /* cygrun.c: testsuite support program
 | |
| 
 | |
|    Copyright 1999 Cygnus Solutions.
 | |
| 
 | |
| This file is part of Cygwin.
 | |
| 
 | |
| This software is a copyrighted work licensed under the terms of the
 | |
| Cygwin license.  Please consult the file "CYGWIN_LICENSE" for
 | |
| details. */
 | |
| 
 | |
| /* This program is intended to be used only by the testsuite.  It runs
 | |
|    programs without using the cygwin api, so that the just-built dll
 | |
|    can be tested without interference from the currently installed
 | |
|    dll. */
 | |
| 
 | |
| #include <stdio.h>
 | |
| #include <windows.h>
 | |
| 
 | |
| int
 | |
| main(int argc, char **argv)
 | |
| {
 | |
|   STARTUPINFO sa;
 | |
|   PROCESS_INFORMATION pi;
 | |
|   DWORD ec = 1;
 | |
| 
 | |
|   if (argc < 2)
 | |
|     {
 | |
|       fprintf(stderr, "Usage: cygrun [program]\n");
 | |
|       exit (0);
 | |
|     }
 | |
| 
 | |
|   setenv("CYGWIN_TESTING", "1");
 | |
|   SetEnvironmentVariable("CYGWIN_TESTING", "1");
 | |
| 
 | |
|   memset(&sa, 0, sizeof(sa));
 | |
|   memset(&pi, 0, sizeof(pi));
 | |
|   if (!CreateProcess(0, argv[1], 0, 0, 1, 0, 0, 0, &sa, &pi))
 | |
|     {
 | |
|       fprintf(stderr, "CreateProcess %s failed\n", argv[1]);
 | |
|       exit(1);
 | |
|     }
 | |
| 
 | |
|   WaitForSingleObject(pi.hProcess, INFINITE);
 | |
| 
 | |
|   GetExitCodeProcess(pi.hProcess, &ec);
 | |
| 
 | |
|   CloseHandle(pi.hProcess);
 | |
|   CloseHandle(pi.hThread);
 | |
|   return ec;
 | |
| }
 |