Test suite results for test file test/tarray2.pp

Test run data :

Free Pascal Compiler Test Suite Results

View Test suite results

Please specify search criteria:
File:
Operating system:
Processor:
Version
Date
Submitter
Machine
Comment
Limit
Cond
Category
Only failed tests
Hide skipped tests
List all tests

Test file "test/tarray2.pp" information:

t_id 4
t_adddate 2003/10/03
t_result 0
t_knownrunerror 0

Detailed test run results:

Record count: 50

Total = 50

OK=50 Percentage= 100.00

Result type Cat. Count Percentage First date Last Date
Successfully run 50 100.0 2024/05/20 23:47:00 40 2024/05/21 01:32:00 0
i386 35 70.0 2024/05/21 00:08:00 23 2024/05/21 01:32:00 28
sparc 1 2.0 2024/05/20 23:47:00 40 2024/05/20 23:47:00 40
x86_64 9 18.0 2024/05/21 00:16:00 14 2024/05/21 01:32:00 0
powerpc64 2 4.0 2024/05/21 01:10:00 101 2024/05/21 01:11:00 108
aarch64 3 6.0 2024/05/21 00:12:00 32 2024/05/21 01:29:00 35
linux 49 98.0 2024/05/21 00:08:00 23 2024/05/21 01:32:00 0
solaris 1 2.0 2024/05/20 23:47:00 40 2024/05/20 23:47:00 40
3.3.1 29 58.0 2024/05/21 00:12:00 32 2024/05/21 01:32:00 28
3.2.3 21 42.0 2024/05/20 23:47:00 40 2024/05/21 01:32:00 0

Source:

{$mode objfpc}
Program TestAOC;

{ Program to test array of const }

{ All elements of the following record must be tested :
  Elements not yet tested are commented out.

    Type
       PVarRec = ^TVarRec;
       TVarRec = record
         case vType: Byte of
           vtInteger    : (VInteger: Integer; VType:Longint);
           vtBoolean    : (VBoolean: Boolean);
           vtChar       : (VChar: Char);
           vtExtended   : (VExtended: PExtended);
           vtString     : (VString: PShortString);
           vtPointer    : (VPointer: Pointer);
           vtPChar      : (VPChar: PChar);
           vtObject     : (VObject: TObject);
           vtClass      : (VClass: TClass);
           // vtWideChar   : (VWideChar: WideChar);
           // vtPWideChar  : (VPWideChar: PWideChar);
           vtAnsiString : (VAnsiString: Pointer);
           // vtCurrency   : (VCurrency: PCurrency);
           // vtVariant    : (VVariant: PVariant);
           // vtInterface  : (VInterface: Pointer);
           // vtWideString : (VWideString: Pointer);
           vtInt64      : (VInt64: PInt64);
           vtQWord      : (VQWord: PQWord);
       end;
}

procedure testit2 (args: array of byte);
begin
end;

Procedure Testit (Args: Array of const);

Var I : longint;

begin
  If High(Args)<0 then
    begin
    Writeln ('No aguments');
    exit;
    end;
  Writeln ('Got ',High(Args)+1,' arguments :');
  For i:=0 to High(Args) do
    begin
    write ('Argument ',i,' has type ');
    case Args[i].vtype of
      vtinteger    : Writeln ('Integer, Value :',args[i].vinteger);
      vtboolean    : Writeln ('Boolean, Value :',args[i].vboolean);
      vtchar       : Writeln ('Char, value : ',args[i].vchar);
      vtextended   : Writeln ('Extended, value : ',args[i].VExtended^);
      vtString     : Writeln ('ShortString, value :',args[i].VString^);
      vtPointer    : Writeln ('Pointer, value : ',Longint(Args[i].VPointer));
      vtPChar      : Writeln ('PCHar, value : ',Args[i].VPChar);
      vtObject     : Writeln ('Object, name : ',Args[i].VObject.Classname);
      vtClass      : Writeln ('Class reference, name : ',Args[i].VClass.Classname);
      vtAnsiString : Writeln ('AnsiString, value :',AnsiString(Args[I].VAnsiString));

{
      vtWideChar   : (VWideChar: WideChar);
      vtPWideChar  : (VPWideChar: PWideChar);
      vtCurrency   : (VCurrency: PCurrency);
      vtVariant    : (VVariant: PVariant);
      vtInterface  : (VInterface: Pointer);
      vtWideString : (VWideString: Pointer);
}
      vtInt64      : Writeln ('Int64, value : ',args[i].VInt64^);
      vtQWord      : Writeln ('QWord, value : ',args[i].VQWord^);
    else
      Writeln ('(Unknown) : ',args[i].vtype);
    end;
    end;
end;

Const P1 : Pchar = 'Eerste Pchar';
      p2 : Pchar = 'Tweede pchar';

Var ObjA,ObjB : TObject;
    ACLass,BClass : TClass;
    S,T : AnsiString;

begin
  ObjA:=TObject.Create;
  ObjB:=TObject.Create;
  AClass:=TObject;
  S:='Ansistring 1';
  T:='AnsiString 2';
  writeln ('Size of VarRec : ',Sizeof(TVarRec));
  Testit ([]);
  Testit ([1,2]);
  Testit (['A','B']);
  Testit ([TRUE,FALSE,TRUE]);
  Testit (['String','Another string']);
  Testit ([S,T])  ;
  Testit ([P1,P2]);
  Testit ([@testit,Nil]);
  Testit ([ObjA,ObjB]);
  Testit ([1.234,1.234]);
  TestIt ([AClass]);
  TestIt ([QWord(1234)]);
  TestIt ([Int64(1234)]);
  TestIt ([Int64(12341234)*1000000000+Int64(12341234)]);

  TestIt2 ([]);
  TestIt2 ([1,2]);
end.

Link to SVN view of test/tarray2.pp source.