/usr/share/doc/fp-compiler/2.6.4/wince/testemu/wcetrun.pp is in fp-compiler-2.6.4 2.6.4+dfsg-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | {
This program is a remote test runner for wince
Copyright (c) 2006 Free Pascal development team.
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
{
Changes :
02-16-2006 : orinaudo@gmail.com, First release
}
program wcetrun;
{$mode objfpc}
{$apptype console}
uses
SysUtils, windows;
var wsTestExeName,
wsTestExtName : WideString;
RPI : PROCESS_INFORMATION;
RSTARTUP : STARTUPINFO;
bError : boolean;
bExitCode : Byte;
i,
lExitCode : Longint;
FileExit : File of byte;
begin
if Paramcount>0 then begin
try
wsTestExeName:=ParamStr(1);
writeln('wcerun - starting='+wsTestExeName);
//create process
FillChar(RSTARTUP,SizeOf(RSTARTUP),0);
RSTARTUP.cb:=SizeOf(RSTARTUP);
if CreateProcess(PWideChar(wsTestExeName), nil,nil,nil,FALSE, 0, nil, nil, @RSTARTUP, RPI ) then begin
writeln('wcerun - waiting return');
//wait end
if WaitForSingleObject(RPI.hProcess, 3*60*1000) = WAIT_OBJECT_0 then begin
writeln('wcerun - finished, get exit code');
//get exitcode
GetExitCodeProcess(RPI.hProcess, @lExitCode);
writeln('wcerun - exitcode=', lExitCode);
end
else begin
writeln('wcerun - process did not exit.');
lExitCode:=255;
end;
CloseHandle (RPI.hThread);
CloseHandle (RPI.hProcess);
end
else
lExitCode:=255;
//create file with exit code
//change extension
wsTestExtName:=ChangeFileExt(wsTestExeName,'.ext');
if lExitCode<255 then
bExitCode:=byte(lExitCode)
else
bExitCode:=255;
except
bExitCode:=255;
end;
system.assign(FileExit,wsTestExtName);
for i:=1 to 10 do
try
system.rewrite(FileExit);
break;
except
Sleep(1000);
end;
write(FileExit,bExitCode);
system.Close(FileExit);
end
else
writeln('wcterun - exiting no params');
end.
|