+ known bug flag

+ norun flag
  + recompile flag
This commit is contained in:
peter 2000-12-09 16:01:10 +00:00
parent 843366e01d
commit d6beb890cd

View File

@ -18,7 +18,10 @@ type
NeedCPU, NeedCPU,
NeedVersion : string; NeedVersion : string;
ResultCode : longint; ResultCode : longint;
NeedRecompile : boolean;
IsInteractive : boolean; IsInteractive : boolean;
IsKnown : boolean;
NoRun : boolean;
UsesGraph : boolean; UsesGraph : boolean;
ShouldFail : boolean; ShouldFail : boolean;
Category : string; Category : string;
@ -40,6 +43,7 @@ const
DoGraph : boolean = false; DoGraph : boolean = false;
DoInteractive : boolean = false; DoInteractive : boolean = false;
DoExecute : boolean = false; DoExecute : boolean = false;
DoKnown : boolean = false;
procedure Verbose(lvl:TVerboseLevel;const s:string); procedure Verbose(lvl:TVerboseLevel;const s:string);
begin begin
@ -250,6 +254,7 @@ var
end; end;
begin begin
FillChar(r,sizeof(r),0);
GetConfig:=false; GetConfig:=false;
Verbose(V_Debug,'Reading '+fn); Verbose(V_Debug,'Reading '+fn);
assign(t,fn); assign(t,fn);
@ -290,6 +295,15 @@ begin
else else
if GetEntry('FAIL') then if GetEntry('FAIL') then
r.ShouldFail:=true r.ShouldFail:=true
else
if GetEntry('RECOMPILE') then
r.NeedRecompile:=true
else
if GetEntry('NORUN') then
r.NoRun:=true
else
if GetEntry('KNOWN') then
r.IsKnown:=true
else else
if GetEntry('INTERACTIVE') then if GetEntry('INTERACTIVE') then
r.IsInteractive:=true r.IsInteractive:=true
@ -443,7 +457,9 @@ var
writeln(' -C<compiler> set compiler to use'); writeln(' -C<compiler> set compiler to use');
writeln(' -V verbose'); writeln(' -V verbose');
writeln(' -E execute test also'); writeln(' -E execute test also');
writeln(' -A include ALL tests');
writeln(' -G include graph tests'); writeln(' -G include graph tests');
writeln(' -G include known bug tests');
writeln(' -I include interactive tests'); writeln(' -I include interactive tests');
halt(1); halt(1);
end; end;
@ -462,11 +478,18 @@ begin
ch:=Upcase(para[2]); ch:=Upcase(para[2]);
delete(para,1,2); delete(para,1,2);
case ch of case ch of
'A' :
begin
DoGraph:=true;
DoInteractive:=true;
DoKnown:=true;
end;
'C' : CompilerBin:=Para; 'C' : CompilerBin:=Para;
'E' : DoExecute:=true; 'E' : DoExecute:=true;
'G' : DoGraph:=true; 'G' : DoGraph:=true;
'I' : DoInteractive:=true; 'I' : DoInteractive:=true;
'V' : DoVerbose:=true; 'V' : DoVerbose:=true;
'K' : DoKnown:=true;
end; end;
end end
else else
@ -505,6 +528,15 @@ begin
end; end;
end; end;
if Res then
begin
if Config.IsKnown and (not DoKnown) then
begin
Verbose(V_Abort,'Skipping test because it is a known bug');
Res:=false;
end;
end;
if Res then if Res then
begin begin
if Config.NeedVersion<>'' then if Config.NeedVersion<>'' then
@ -534,9 +566,19 @@ begin
end; end;
if Res then if Res then
begin
Res:=RunCompiler; Res:=RunCompiler;
if Res and Config.NeedRecompile then
Res:=RunCompiler;
end;
if Res then if Res then
begin
if (Config.NoRun) then
begin
Verbose(V_Debug,'Skipping run test');
end
else
begin begin
if (not Config.ShouldFail) and DoExecute then if (not Config.ShouldFail) and DoExecute then
begin begin
@ -548,6 +590,7 @@ begin
end; end;
end; end;
end; end;
end;
begin begin
@ -556,7 +599,12 @@ begin
end. end.
{ {
$Log$ $Log$
Revision 1.6 2000-12-04 22:06:25 peter Revision 1.7 2000-12-09 16:01:10 peter
+ known bug flag
+ norun flag
+ recompile flag
Revision 1.6 2000/12/04 22:06:25 peter
* fixed stupid c&p bug for CPU check * fixed stupid c&p bug for CPU check
Revision 1.5 2000/12/03 22:59:10 florian Revision 1.5 2000/12/03 22:59:10 florian