Browse Source

+ with the randseed set as in the test, the test fails on x86_64-linux, added so it won't be forgotten

git-svn-id: trunk@44599 -
florian 5 years ago
parent
commit
2f5d51436e
2 changed files with 47 additions and 0 deletions
  1. 1 0
      .gitattributes
  2. 46 0
      tests/webtbs/tw14315b.pp

+ 1 - 0
.gitattributes

@@ -16835,6 +16835,7 @@ tests/webtbs/tw14236.pp svneol=native#text/plain
 tests/webtbs/tw1430.pp svneol=native#text/plain
 tests/webtbs/tw14307.pp svneol=native#text/plain
 tests/webtbs/tw14315.pp svneol=native#text/plain
+tests/webtbs/tw14315b.pp svneol=native#text/pascal
 tests/webtbs/tw1433.pp svneol=native#text/plain
 tests/webtbs/tw14347.pp svneol=native#text/pascal
 tests/webtbs/tw14363.pp svneol=native#text/plain

+ 46 - 0
tests/webtbs/tw14315b.pp

@@ -0,0 +1,46 @@
+program Project1;
+
+{$mode objfpc}{$H+}
+
+uses
+  Classes, SysUtils;
+
+function RandomRange(const low : longint;
+                     const high : longint) : longint;
+begin
+  if (high < low) then
+    result := high + random(low - high + 1)
+  else
+    Result := low + random(high - low + 1);
+end;
+
+procedure GetStats(out used: ptruint);
+var
+  fpcHeapStatus : TFPCHeapStatus;
+begin
+  fpcHeapStatus := GetFPCHeapStatus();
+  used:=fpcHeapStatus.CurrHeapUsed;
+  writeln(' heap status: cu=' +
+          IntToStr(fpcHeapStatus.CurrHeapUsed) + ', cs=' +
+          IntToStr(fpcHeapStatus.CurrHeapSize) + ', cf=' +
+          IntToStr(fpcHeapStatus.CurrHeapFree) + ', mu=' +
+          IntToStr(fpcHeapStatus.MaxHeapUsed) + ', ms=' +
+          IntToStr(fpcHeapStatus.MaxHeapSize));
+end;
+
+var
+  i : integer;
+  a : array of byte;
+  u1, u2: ptruint;
+begin
+  randseed:=1586103426;
+  writeln('randseed: ',randseed);
+  GetStats(u1);
+  for i := 0 to 50 do begin
+    SetLength(a, RandomRange(1024,1024*1024*15));
+  end;
+  SetLength(a, 0);
+  GetStats(u2);
+  if u1<>u2 then
+    halt(1);
+end.