Browse Source

* removed wrong tests

peter 21 years ago
parent
commit
497735475c
2 changed files with 19 additions and 96 deletions
  1. 4 4
      tests/test/cg/tclasize.pp
  2. 15 92
      tests/test/cg/tobjsiz2.pp

+ 4 - 4
tests/test/cg/tclasize.pp

@@ -2,7 +2,7 @@
 
 type
    tbaseclass = class
-     x : longint;
+     x : byte;
      class procedure virtual_class_method; virtual;
      class procedure call_virtual_class_method;
      class function getsize : longint;
@@ -10,7 +10,7 @@ type
    end;
 
    tderivedclass = class(tbaseclass)
-     y : longint;
+     y : byte;
      class procedure virtual_class_method; override;
    end;
 
@@ -18,8 +18,8 @@ const
   tbasecalled : boolean = false;
   tderivedcalled : boolean = false;
   has_error : boolean = false;
-  expected_size_for_tbaseclass = sizeof(pointer) + sizeof(longint);
-  expected_size_for_tderivedclass = sizeof(pointer) + 2*sizeof(longint);
+  expected_size_for_tbaseclass = sizeof(pointer) + sizeof(byte);
+  expected_size_for_tderivedclass = sizeof(pointer) + 2*sizeof(byte);
 
 var
   basesize : longint;

+ 15 - 92
tests/test/cg/tobjsiz2.pp

@@ -10,138 +10,61 @@ type
    pderivedclass = ^tderivedclass;
 
    tbaseclass = object
-     x : longint;
-     {constructor init;}
+     x : byte;
      function getsize : longint; static;
-     function getsize2 : longint;
-     procedure check_size; {virtual;}
-     procedure static_check_size; static;
-     procedure check_normal;
-     procedure check_static; static;
-     {procedure check_virtual; virtual;}
-     {destructor done; virtual;}
+     procedure check_size;
    end;
 
    tderivedclass = object(tbaseclass)
-     y : longint;
-     procedure check_size; {virtual;}
+     y : byte;
    end;
 
 const
-  has_error : boolean = false;
-  expected_size_for_tbaseclass = {sizeof(pointer) + }sizeof(longint);
-  expected_size_for_tderivedclass = {sizeof(pointer) +} 2*sizeof(longint);
+  expected_size_for_tbaseclass = sizeof(byte);
+  expected_size_for_tderivedclass = 2*sizeof(byte);
 
 var
   basesize : longint;
   derivedsize : longint;
 
-{constructor tbaseclass.init;
-begin
-end;
-
-destructor tbaseclass.done;
-begin
-end;     }
-
 function tbaseclass.getsize : longint;
 begin
+  { self = pointer to VMT }
   getsize:=sizeof(self);
 end;
 
-function tbaseclass.getsize2 : longint;
-begin
-  getsize2:=sizeof(self);
-end;
-
 procedure tbaseclass.check_size;
 begin
-  if sizeof(self)<>getsize then
+  if getsize<>sizeof(pointer) then
     begin
-      Writeln('Compiler creates garbage');
-      has_error:=true;
-    end;
-  if sizeof(self)<>getsize2 then
-    begin
-      Writeln('Compiler creates garbage');
-      has_error:=true;
-    end;
-end;
-
-procedure tbaseclass.static_check_size;
-begin
-  if sizeof(self)<>getsize then
-    begin
-      Writeln('Compiler creates garbage');
-      has_error:=true;
+      Writeln('Compiler creates garbage ',sizeof(self),'<>',sizeof(pointer));
+      halt(1);
     end;
 end;
 
-procedure tbaseclass.check_normal;
-begin
-  check_size;
-  static_check_size;
-end;
-
-procedure tbaseclass.check_static;
-begin
-  {check_size;}
-  static_check_size;
-end;
-
-{procedure tbaseclass.check_virtual;
-begin
-  check_size;
-  static_check_size;
-end;}
-
-
-procedure tderivedclass.check_size;
-
-begin
-  Writeln('Calling tderived check_size method');
-  inherited check_size;
-end;
 
 var
   cb : tbaseclass;
   cd : tderivedclass;
   c1 : pbaseclass;
 begin
- {cb.init;
- cd.init;}
  new(c1);
 
  basesize:=sizeof(cb);
  Writeln('Sizeof(cb)=',basesize);
  if basesize<>expected_size_for_tbaseclass then
-   Writeln('not the expected size : ',expected_size_for_tbaseclass);
+   begin
+     Writeln('not the expected size : ',expected_size_for_tbaseclass);
+     halt(1);
+   end;
 
  derivedsize:=sizeof(cd);
  Writeln('Sizeof(ct)=',derivedsize);
  if derivedsize<>expected_size_for_tderivedclass then
-   Writeln('not the expected size : ',expected_size_for_tderivedclass);
-
- cb.check_size;
- cd.check_size;
- c1^.check_size;
- cb.static_check_size;
- cd.static_check_size;
- c1^.static_check_size;
- tbaseclass.static_check_size;
- tderivedclass.static_check_size;
- tbaseclass.check_static;
- tderivedclass.check_static;
-
- cb.check_normal;
- cb.check_static;
- cd.check_normal;
- cd.check_static;
-
- if has_error then
    begin
-     Writeln('Error with object methods');
+     Writeln('not the expected size : ',expected_size_for_tderivedclass);
      halt(1);
    end;
 
+  cb.check_size;
 end.