Test suite results for test file webtbs/tw3695.pp

Test run data :

Run ID:
Operating system: linux
Processor: arm
Version: 3.2.3
Fails/OK/Total: 59/7928/7987
Version: 3.2.3
Full version: 3.2.3-1373-gae0fe8a6a0
Comment: -Cparmv6 -Cfvfpv2 -Caeabi -XR/home/pierre/sys-root/arm-linux -Xd -Xr/home/pierre/sys-root/arm-linux
Machine: gcclocal
Category: 1
SVN revisions: fdf93c5b29:c17a0e20f5:ae0fe8a6a0:d1c29e6cb9
Submitter: pierre
Date: 2024/04/19 10:28:00 <> 2024/04/09
Previous run: 934295
Next run: 935628

Hide skipped tests

Hide successful tests

Test file "webtbs/tw3695.pp" information:

t_id 1504
t_adddate 2005/03/05
t_result 0
t_knownrunerror 0

Detailed test run results:

tr_idruntr_oktr_skiptr_result
443585304934952TrueFalseSuccessfully run

Record count: 1

No log of 934952.

Source:

{ Source provided for Free Pascal Bug Report 3695 }
{ Submitted by "Pedro Lopez-Cabanillas" on  2005-02-25 }
{ e-mail: plcl@telefonica.net }
program testsync;

{$ifdef FPC}
    {$mode delphi}
{$endif}

uses Classes, SysUtils
{$ifdef unix}
,cthreads
{$endif unix}
;

type
    Tester = class
    private
	counter: Integer;
    public
	procedure count;
	procedure run;
    end;

    MyThread = class(TThread)
    private
        worker: Tester;
    public
	constructor Create(w: Tester);
	procedure Execute; override;
    end;

constructor MyThread.Create(w: Tester);
begin
  worker:= w;
  inherited Create(false);
end;

procedure MyThread.Execute;
begin
  WriteLn('Starting MyThread.Execute');
  repeat
    Synchronize(worker.count);
  until Terminated;
  WriteLn('Ending MyThread.Execute');
end;

procedure Tester.count;
begin
  Inc(counter);
  WriteLn(counter);
end;

procedure Tester.run;
var
  thread: MyThread;
begin
  thread := MyThread.Create(Self);
  While counter < 10 do
  begin
    Sleep(100);
    CheckSynchronize;
    //WriteLn('Loop forever inside Tester.run when compiled by FPC 1.9.8');
  end;
  thread.Terminate;
end;

var
    t: Tester;
begin
    t := Tester.Create;
    t.run;
end.

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