Skip to content

abstract methods are not excluded (since Delphi 2010) #3

@eugeneilyin

Description

@eugeneilyin

Something was changed in .map file format since Delphi 2010 and CodeCoverage32 threat abstract methods as executed non-covered code.

Project settings

Linking / Map file: Detailed

Command Line (32-bit)

CodeCoverage32 -e Project.exe -m Project.map -u SampleUnit -od Coverage -html

Command Line (64-bit)

CodeCoverage64 -e Project.exe -m Project.map -u SampleUnit -od Coverage -html

Minimal code to reproduce

Project.dpr

program Project;

{$APPTYPE CONSOLE}

uses
  SampleUnit in 'SampleUnit.pas';

begin
  with TClassB.Create do
    try
      Method;
    finally
      Free;
    end;
end.

SampleUnit.pas

unit SampleUnit;

interface

type

  TClassA = class
  public
    procedure Method; virtual; abstract;
  end;

  TClassB = class(TClassA)
  public
    procedure Method; override;
  end;

implementation

procedure TClassB.Method;
begin
end;

end.

Coverage Report

Compiler Lines Covered Covered % Report
Delphi 5 2 2 100 % Report
Delphi 6 2 2 100 % Report
Delphi 7 2 2 100 % Report
Delphi 2005 2 2 100 % Report
Delphi 2006 1 1 100 % Report
Delphi 2009 1 1 100 % Report
Delphi 2010 2 1 50 % Report
Delphi XE 3 2 66 % Report
Delphi XE2
32-bit
3 2 66 % Report
Delphi XE2
64-bit
4 3 75 % Report
Delphi XE3
32-bit
3 2 66 % Report
Delphi XE3
64-bit
4 3 75 % Report
Delphi XE4
32-bit
3 2 66 % Report
Delphi XE4
64-bit
4 3 75 % Report
Delphi XE5
32-bit
3 2 66 % Report
Delphi XE5
64-bit
4 3 75 % Report
Delphi XE6
32-bit
3 2 66 % Report
Delphi XE6
64-bit
4 3 75 % Report
Delphi XE7
32-bit
3 2 66 % Report
Delphi XE7
64-bit
4 3 75 % Report
Delphi XE8
32-bit
3 2 66 % Report
Delphi XE8
64-bit
4 3 75 % Report
Delphi 10.0 Seattle
32-bit
3 2 66 % Report
Delphi 10.0 Seattle
64-bit
4 3 75 % Report
Delphi 10.1 Berlin
32-bit
3 2 66 % Report
Delphi 10.1 Berlin
64-bit
4 3 75 % Report
Delphi 10.2 Tokyo
32-bit
3 2 66 % Report
Delphi 10.2 Tokyo
64-bit
4 3 75 % Report
Delphi 10.3 Rio
32-bit
3 2 66 % Report
Delphi 10.3 Rio
64-bit
4 3 75 % Report

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions