Test suite results for test file test/cg/tcase.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/cg/tcase.pp" information:

t_id 165
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/06/02 02:19:00 35 2024/06/02 06:58:00 0
i386 8 16.0 2024/06/02 04:53:00 28 2024/06/02 06:51:00 236
m68k 3 6.0 2024/06/02 05:48:00 63 2024/06/02 06:49:00 58
sparc 4 8.0 2024/06/02 05:32:00 44 2024/06/02 06:53:00 0
powerpc 1 2.0 2024/06/02 06:16:00 188 2024/06/02 06:16:00 188
arm 5 10.0 2024/06/02 05:30:00 69 2024/06/02 06:47:00 38
x86_64 8 16.0 2024/06/02 02:19:00 35 2024/06/02 06:26:00 40
powerpc64 4 8.0 2024/06/02 06:26:00 215 2024/06/02 06:44:00 70
mips 3 6.0 2024/06/02 05:58:00 243 2024/06/02 06:58:00 0
mipsel 1 2.0 2024/06/02 06:08:00 151 2024/06/02 06:08:00 151
aarch64 12 24.0 2024/06/02 05:21:00 46 2024/06/02 06:55:00 0
loongarch64 1 2.0 2024/06/02 06:56:00 0 2024/06/02 06:56:00 0
linux 34 68.0 2024/06/02 02:19:00 35 2024/06/02 06:58:00 0
win32 2 4.0 2024/06/02 04:53:00 28 2024/06/02 06:02:00 28
go32v2 2 4.0 2024/06/02 05:44:00 59 2024/06/02 06:25:00 60
solaris 4 8.0 2024/06/02 03:04:00 19 2024/06/02 06:26:00 40
darwin 8 16.0 2024/06/02 05:42:00 24 2024/06/02 06:55:00 0
3.3.1 15 30.0 2024/06/02 03:04:00 19 2024/06/02 06:56:00 0
3.2.3 35 70.0 2024/06/02 02:19:00 35 2024/06/02 06:58:00 0

Source:

{****************************************************************}
{  CODE GENERATOR TEST PROGRAM                                   }
{****************************************************************}
{ NODE TESTED : secondcase()                                     }
{****************************************************************}
{ PRE-REQUISITES: secondload()                                   }
{                 secondassign()                                 }
{                 secondcalln()                                  }
{****************************************************************}
{ DEFINES:                                                       }
{****************************************************************}
{ REMARKS: Tests the case statement (except jump table gen.)     }
{****************************************************************}
program tcase;

{$ifdef FPC}
    {$IFNDEF ver1_0}
        {$define int64_Test}
    {$endif}
{$else}
    {$define int64_Test}
{$endif}

{
   The value is in LOC_REGISTER (operand to test)
}

procedure fail;
begin
  WriteLn('Failed!');
  halt(1);
end;


{************************************************************************}
{                            LINEAR LIST                                 }
{************************************************************************}

{   low = high           }
procedure TestCmpListOneShort;
 var
  s: smallint;
  failed :boolean;
 begin
   Write('Linear Comparison list without ranges (smallint)...');
   s := -12;
   failed := true;
   case s of
   -12 : failed := false;
   -10 : ;
   3 : ;
   else
   end;
   if failed then
     fail
   else
     WriteLn('Passed!');
 end;

{   low = high           }
procedure TestCmpListTwoShort;
 var
  s: smallint;
  failed :boolean;
 begin
   Write('Linear Comparison list without ranges (smallint)...');
   s := 30000;
   failed := true;
   case s of
   -12 : ;
   -10 : ;
   3 : ;
   else
     failed := false;
   end;
   if failed then
     fail
   else
     WriteLn('Passed!');
 end;


{   low = high           }
procedure TestCmpListOneWord;
 var
  s: word;
  failed :boolean;
 begin
   Write('Linear Comparison list without ranges (word)...');
   s := 12;
   failed := true;
   case s of
   12 : failed := false;
   10 : ;
   3 : ;
   end;
   if failed then
     fail
   else
     WriteLn('Passed!');
 end;

{   low = high           }
procedure TestCmpListTwoWord;
 var
  s: word;
  failed :boolean;
 begin
   Write('Linear Comparison list without ranges (word)...');
   s := 30000;
   failed := true;
   case s of
   0 : ;
   512 : ;
   3 : ;
   else
     failed := false;
   end;
   if failed then
     fail
   else
     WriteLn('Passed!');
 end;

{$IFDEF INT64_TEST}
{   low = high           }
procedure TestCmpListOneInt64;
 var
  s: int64;
  failed :boolean;
 begin
   Write('Linear Comparison list without ranges (int64)...');
   s := 3000000;
   failed := true;
   case s of
   3000000 : failed := false;
   10 : ;
   3 : ;
   end;
   if failed then
     fail
   else
     WriteLn('Passed!');
 end;

{   low = high           }
procedure TestCmpListTwoInt64;
 var
  s: int64;
  failed :boolean;
 begin
   Write('Linear Comparison list without ranges (int64)...');
   s := 30000;
   failed := true;
   case s of
   0 : ;
   512 : ;
   3 : ;
   else
     failed := false;
   end;
   if failed then
     fail
   else
     WriteLn('Passed!');
 end;

 {   low = high           }
 procedure TestCmpListThreeInt64;
  var
   s: int64;
   l : longint;
   failed :boolean;
  begin
    Write('Linear Comparison list without ranges (int64)...');
    l:=3000000;
    s := (int64(l) shl 32);
    failed := true;
    case s of
    (int64(3000000) shl 32) : failed := false;
    10 : ;
    3 : ;
    end;
    if failed then
      fail
    else
      WriteLn('Passed!');
  end;
{$ENDIF}


procedure TestCmpListRangesOneShort;
 var
  s: smallint;
  failed :boolean;
 begin
   Write('Linear Comparison list with ranges (smallint)...');
   s := -12;
   failed := true;
   case s of
   -12..-8 : failed := false;
   -7 : ;
   3 : ;
   else
   end;
   if failed then
     fail
   else
     WriteLn('Passed!');
 end;

procedure TestCmpListRangesTwoShort;
 var
  s: smallint;
  failed :boolean;
 begin
   Write('Linear Comparison list with ranges (smallint)...');
   s := 30000;
   failed := true;
   case s of
   -12..-8 : ;
   -7 : ;
   3 : ;
   else
     failed := false;
   end;
   if failed then
     fail
   else
     WriteLn('Passed!');
 end;


{   low = high           }
procedure TestCmpListRangesOneWord;
 var
  s: word;
  failed :boolean;
 begin
   Write('Linear Comparison list with ranges (word)...');
   s := 12;
   failed := true;
   case s of
   12..13 : failed := false;
   10 : ;
   3..7 : ;
   end;
   if failed then
     fail
   else
     WriteLn('Passed!');
 end;

{   low = high           }
procedure TestCmpListRangesTwoWord;
 var
  s: word;
  failed :boolean;
 begin
   Write('Linear Comparison list with ranges (word)...');
   s := 30000;
   failed := true;
   case s of
   0..2 : ;
   3..29999 : ;
   else
     failed := false;
   end;
   if failed then
     fail
   else
     WriteLn('Passed!');
 end;


 procedure TestCmpListRangesThreeWord;
  var
   s: word;
   failed :boolean;
  begin
    Write('Linear Comparison list with ranges (word)...');
    s := 3;
    failed := true;
    case s of
    12..13 : ;
    10 : ;
    3..7 : failed := false;
    end;
    if failed then
      fail
    else
      WriteLn('Passed!');
  end;


{$IFDEF INT64_TEST}
{   low = high           }
procedure TestCmpListRangesOneInt64;
 var
  s: int64;
  failed :boolean;
 begin
   Write('Linear Comparison list with ranges (int64)...');
   s := 3000000;
   failed := true;
   case s of
   11..3000000 : failed := false;
   10 : ;
   0..2 : ;
   end;
   if failed then
     fail
   else
     WriteLn('Passed!');
 end;

{   low = high           }
procedure TestCmpListRangesTwoInt64;
 var
  s: int64;
  failed :boolean;
 begin
   Write('Linear Comparison list with ranges (int64)...');
   s := 30000;
   failed := true;
   case s of
   513..10000 : ;
   512 : ;
   0..3 : ;
   else
     failed := false;
   end;
   if failed then
     fail
   else
     WriteLn('Passed!');
 end;
{$ENDIF}

Begin
  TestCmpListOneShort;
  TestCmpListTwoShort;
  TestCmpListOneWord;
  TestCmpListTwoWord;
  TestCmpListRangesOneShort;
  TestCmpListRangesTwoShort;
  TestCmpListRangesOneWord;
  TestCmpListRangesTwoWord;
  TestCmpListRangesThreeWord;
{$ifdef int64_test}
  TestCmpListOneInt64;
  TestCmpListTwoInt64;
  TestCmpListThreeInt64;
  TestCmpListRangesOneInt64;
  TestCmpListRangesTwoInt64;
{$endif}
end.

{
   $Log: tcase.pp,v $
   Revision 1.4  2002/11/16 15:38:12  peter
     * fix int64 test

   Revision 1.3  2002/09/29 14:37:22  carl
     * must more 64-bit testing (to detect endian specific problems)

   Revision 1.2  2002/09/07 15:40:55  peter
     * old logs removed and tabs fixed

   Revision 1.1  2002/07/28 09:45:24  carl
     + case node testing


}

Link to SVN view of test/cg/tcase.pp source.