Test suite results for test file webtbs/tw3170.pp

Test run data :

Run ID:
Operating system: linux
Processor: m68k
Version: 3.3.1
Fails/OK/Total: 246/8962/9208
Version: 3.3.1
Full version: 3.3.1-15584-g2f9ed0576e
Comment: -XR/home/muller/sys-root/m68k-linux -Xd -Xr/home/muller/sys-root/m68k-linux
Machine: cfarm421
Category: 1
SVN revisions: 2f9ed0576e:8b7dbb81b1:3f8bbd3b00:2f9ed0576e
Submitter: muller
Date: 2024/04/19 11:15:00 <> 2024/04/18
Previous run: 934342
Next run: 935664

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
443822369934989TrueFalseSuccessfully run

Record count: 1

No log of 934989.

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.