forked from DelphiCodeCoverage/DelphiCodeCoverage
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathI_CoverageConfiguration.pas
More file actions
95 lines (87 loc) · 3.48 KB
/
Copy pathI_CoverageConfiguration.pas
File metadata and controls
95 lines (87 loc) · 3.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
(***********************************************************************)
(* Delphi Code Coverage *)
(* *)
(* A quick hack of a Code Coverage Tool for Delphi *)
(* by Christer Fahlgren and Nick Ring *)
(* *)
(* This Source Code Form is subject to the terms of the Mozilla Public *)
(* License, v. 2.0. If a copy of the MPL was not distributed with this *)
(* file, You can obtain one at http://mozilla.org/MPL/2.0/. *)
unit I_CoverageConfiguration;
interface
uses
System.Classes,
ModuleNameSpaceUnit,
I_LogManager,
System.Generics.Collections;
type
ICoverageConfiguration = interface
procedure ParseCommandLine(const ALogManager: ILogManager = nil);
function ApplicationParameters: string;
function ExeFileName: string;
function ExeFileNames: TList<String>;
function MapFileName: string;
function MapFileNames: TList<String>;
function OutputDir: string;
function SourceDir: string;
function SourcePaths: TStrings;
function Units: TStrings;
function ExcludedUnits: TStrings;
function ExcludedClassPrefixes: TStrings;
function DebugLogFile: string;
function UseApiDebug: Boolean;
function IsComplete(var AReason: string): Boolean;
function EmmaOutput: Boolean;
function EmmaOutput21: Boolean;
function JacocoOutput: Boolean;
function SeparateMeta: Boolean;
function XmlOutput: Boolean;
function XmlLines: Boolean;
function XmlMergeGenerics: Boolean;
function HtmlOutput: Boolean;
function TestExeExitCode: Boolean;
function UseTestExePathAsWorkingDir: Boolean;
function ModuleNameSpace(const AModuleName: string): TModuleNameSpace;
function UnitNameSpace(const AModuleName: string): TUnitNameSpace;
function LineCountLimit: Integer;
function CodePage: Integer;
end;
const
cESCAPE_CHARACTER : char = '^';
cDEFULT_DEBUG_LOG_FILENAME = 'Delphi-Code-Coverage-Debug.log';
cPARAMETER_VERBOSE = '-v';
cPARAMETER_EXECUTABLE = '-e';
cPARAMETER_MAP_FILE = '-m';
cPARAMETER_UNIT = '-u';
cPARAMETER_EXCLUDE_CLASS_PREFIX = '-ecp';
cPARAMETER_UNIT_FILE = '-uf';
cPARAMETER_SOURCE_DIRECTORY = '-sd';
cPARAMETER_OUTPUT_DIRECTORY = '-od';
cPARAMETER_EXECUTABLE_PARAMETER = '-a';
cPARAMETER_LOGGING_TEXT = '-lt';
cPARAMETER_LOGGING_WINAPI = '-lapi';
cPARAMETER_FILE_EXTENSION_INCLUDE = '-ife';
cPARAMETER_FILE_EXTENSION_EXCLUDE = '-efe';
cPARAMETER_SOURCE_PATHS = '-sp';
cPARAMETER_SOURCE_PATHS_FILE = '-spf';
cPARAMETER_EMMA_OUTPUT = '-emma';
cPARAMETER_EMMA21_OUTPUT = '-emma21';
cPARAMETER_XML_OUTPUT = '-xml';
cPARAMETER_XML_LINES = '-xmllines';
cPARAMETER_XML_LINES_MERGE_GENERICS = '-xmlgenerics';
cPARAMETER_HTML_OUTPUT = '-html';
cPARAMETER_DPROJ = '-dproj';
cPARAMETER_DGROUPPROJ = '-dgroupproj';
cPARAMETER_EXCLUDE_SOURCE_MASK = '-esm';
cPARAMETER_INCLUDE_SOURCE_MASK = '-ism';
cPARAMETER_MODULE_NAMESPACE = '-mns';
cPARAMETER_UNIT_NAMESPACE = '-uns';
cPARAMETER_EMMA_SEPARATE_META = '-meta';
cPARAMETER_TESTEXE_EXIT_CODE = '-tec';
cPARAMETER_USE_TESTEXE_WORKING_DIR = '-twd';
cPARAMETER_LINE_COUNT = '-lcl';
cPARAMETER_CODE_PAGE = '-cp';
cPARAMETER_JACOCO = '-jacoco';
cIGNORE_UNIT_PREFIX = '!';
implementation
end.