Browse Source

+ support for specifying an optional command line parameter to use during a
recompile of a test

git-svn-id: trunk@26955 -

Jonas Maebe 11 years ago
parent
commit
4f1207f603
3 changed files with 14 additions and 6 deletions
  1. 3 1
      tests/readme.txt
  2. 5 3
      tests/utils/dotest.pp
  3. 6 2
      tests/utils/testu.pp

+ 3 - 1
tests/readme.txt

@@ -88,7 +88,9 @@ DELFILES...........List of files (separated by spaces) to be deleted after
 GRAPH..............Requires graph unit
 FAIL...............Compilation must fail
 RECOMPILE..........After compiling a test, recompile the test for a second
-                   time. This is needed to test ppu loading issues.
+                   time. This is needed to test ppu loading issues. Can
+		   optionally specify a command line option to use only
+		   during the second compilation.
 NORUN..............Do not execute test, only compile it
 INTERACTIVE........Do not execute test, as it requires user intervention
 NOTE...............Output note when compiling/executing test

+ 5 - 3
tests/utils/dotest.pp

@@ -911,7 +911,7 @@ begin
   DelOptions:=opts;
 end;
 
-function RunCompiler:boolean;
+function RunCompiler(const ExtraPara: string):boolean;
 var
   args,LocalExtraArgs,
   wpoargs : string;
@@ -923,6 +923,8 @@ var
 begin
   RunCompiler:=false;
   args:='-n -T'+CompilerTarget+' -Fu'+RTLUnitsDir;
+  if ExtraPara<>'' then
+    args:=args+' '+ExtraPara;
   { the helper object files have been copied to the common directory }
   if UniqueSuffix<>'' then
     args:=args+' -Fo'+TestOutputDir+'/..';
@@ -2000,9 +2002,9 @@ begin
 
   if Res then
    begin
-     Res:=RunCompiler;
+     Res:=RunCompiler('');
      if Res and Config.NeedRecompile then
-      Res:=RunCompiler;
+      Res:=RunCompiler(Config.RecompileOpt);
    end;
 
   if Res and (not Config.ShouldFail) then

+ 6 - 2
tests/utils/testu.pp

@@ -23,7 +23,8 @@ type
     MinVersion,
     MaxVersion,
     KnownRunNote,
-    KnownCompileNote : string;
+    KnownCompileNote,
+    RecompileOpt: string;
     ResultCode    : longint;
     KnownRunError : longint;
     KnownCompileError : longint;
@@ -211,7 +212,10 @@ begin
                 r.ShouldFail:=true
               else
                if GetEntry('RECOMPILE') then
-                r.NeedRecompile:=true
+	        begin
+                  r.NeedRecompile:=true;
+		  r.RecompileOpt:=res;
+		end
               else
                if GetEntry('NORUN') then
                 r.NoRun:=true