Test suite results for test file webtbs/tw3170.pp

Test run data :

Run ID:
Operating system: linux
Processor: powerpc
Version: 3.2.3
Fails/OK/Total: 44/7941/7985
Version: 3.2.3
Full version: 3.2.3-1374-g849fbd722c-unpushed
Comment: -O1 -Xd -Fl/usr/lib32 -Fd -Fl/usr/lib/gcc/powerpc64-linux-gnu/13/32 -Fd
Machine: gcc203
Category: 1
SVN revisions: fdf93c5b29:849fbd722c:ae0fe8a6a0:d1c29e6cb9
Submitter: pierre
Date: 2024/04/19 11:03:00 <> 2024/04/10
Previous run: 933760
Next run: 936192

Hide skipped tests

Hide successful tests

Test file "webtbs/tw3170.pp" information:

t_id 1322
t_adddate 2004/08/08
t_result 0
t_knownrunerror 0

Detailed test run results:

tr_idruntr_oktr_skiptr_result
443657871934965TrueFalseSuccessfully run

Record count: 1

No log of 934965.

Source:

{ Source provided for Free Pascal Bug Report 3170 }
{ Submitted by "Michalis Kamburelis" on  2004-06-15 }
{ e-mail: michalis@camelot.homedns.org }
{ Simple test of 4 string comparison routines: [Ansi]Compare(Str|Text)
  with AnsiStrings with #0 chars inside.

  FPC 1.9.5 fails only at CompareStr + ('hello', 'hello'#0'bye')
  test, passes all other.
  After applying my small patch to sysstr.inc, FPC 1.9.5 passes
  all tests.

  Delphi note: Kylix 3 does not pass this test with Ansi- functions,
  it seems that in Kylix 3 Ansi- functions consider #0 char to mark
  end of AnsiString (I will not submit this as a compatibility bug,
  as I consider this stupid, FPC behaviour is definitely more
  sensible and consequent here).
}

{$apptype CONSOLE}
{$assertions ON}
{$ifdef FPC} {$mode objfpc} {$endif}
{$longstrings ON}

uses SysUtils;

type
  TCompare2Strings = function(const s1, s2:string):Integer;

procedure Check(CompareFunc:TCompare2Strings);
begin
 Assert(CompareFunc('hello'#0'bye', 'hello'#0'bye') = 0);
 Assert(CompareFunc('hello'#0'seeya', 'hello'#0'bye') > 0);
 Assert(CompareFunc('hello', 'hello'#0'bye') < 0);

{ alternative:
 Writeln(CompareFunc('hello'#0'bye', 'hello'#0'bye'));
 Writeln(CompareFunc('hello'#0'seeya', 'hello'#0'bye'));
 Writeln(CompareFunc('hello', 'hello'#0'bye'));
}
end;

begin
 Writeln('CompareStr');      Check(@CompareStr);
 Writeln('CompareText');     Check(@CompareText);
 Writeln('AnsiCompareStr');  Check(@AnsiCompareStr);
 Writeln('AnsiCompareText'); Check(@AnsiCompareText);
end.

Link to SVN view of webtbs/tw3170.pp source.