blob: fde7a8b29821839748a5c160ed512c826a5a31b6 [file] [log] [blame]
Ben Murdoch097c5b22016-05-18 11:27:45 +01001# -*- python -*-
2# Crocodile config file for Chromium - settings common to all platforms
3#
4# This should be speicified before the platform-specific config, for example:
5# croc -c chrome_common.croc -c linux/chrome_linux.croc
6
7{
8 # List of root directories, applied in order
9 'roots' : [
10 # Sub-paths we specifically care about and want to call out
11 {
12 'root' : '_/src',
13 'altname' : 'CHROMIUM',
14 },
15 ],
16
17 # List of rules, applied in order
18 # Note that any 'include':0 rules here will be overridden by the 'include':1
19 # rules in the platform-specific configs.
20 'rules' : [
21 # Don't scan for executable lines in uninstrumented C++ header files
22 {
23 'regexp' : '.*\\.(h|hpp)$',
24 'add_if_missing' : 0,
25 },
26
27 # Groups
28 {
29 'regexp' : '',
30 'group' : 'source',
31 },
32 {
33 'regexp' : '.*_(test|unittest|uitest|browsertest)\\.',
34 'group' : 'test',
35 },
36
37 # Languages
38 {
39 'regexp' : '.*\\.(c|h)$',
40 'language' : 'C',
41 },
42 {
43 'regexp' : '.*\\.(cc|cpp|hpp)$',
44 'language' : 'C++',
45 },
46
47 # Files/paths to include. Specify these before the excludes, since rules
48 # are in order.
49 {
50 'regexp' : '^CHROMIUM/(base|media|net|printing|remoting|chrome|content|webkit/glue|native_client)/',
51 'include' : 1,
52 },
53 # Don't include subversion or mercurial SCM dirs
54 {
55 'regexp' : '.*/(\\.svn|\\.hg)/',
56 'include' : 0,
57 },
58 # Don't include output dirs
59 {
60 'regexp' : '.*/(Debug|Release|out|xcodebuild)/',
61 'include' : 0,
62 },
63 # Don't include third-party source
64 {
65 'regexp' : '.*/third_party/',
66 'include' : 0,
67 },
68 # We don't run the V8 test suite, so we don't care about V8 coverage.
69 {
70 'regexp' : '.*/v8/',
71 'include' : 0,
72 },
73 ],
74
75 # Paths to add source from
76 'add_files' : [
77 'CHROMIUM'
78 ],
79
80 # Statistics to print
81 'print_stats' : [
82 {
83 'stat' : 'files_executable',
84 'format' : '*RESULT FilesKnown: files_executable= %d files',
85 },
86 {
87 'stat' : 'files_instrumented',
88 'format' : '*RESULT FilesInstrumented: files_instrumented= %d files',
89 },
90 {
91 'stat' : '100.0 * files_instrumented / files_executable',
92 'format' : '*RESULT FilesInstrumentedPercent: files_instrumented_percent= %g percent',
93 },
94 {
95 'stat' : 'lines_executable',
96 'format' : '*RESULT LinesKnown: lines_known= %d lines',
97 },
98 {
99 'stat' : 'lines_instrumented',
100 'format' : '*RESULT LinesInstrumented: lines_instrumented= %d lines',
101 },
102 {
103 'stat' : 'lines_covered',
104 'format' : '*RESULT LinesCoveredSource: lines_covered_source= %d lines',
105 'group' : 'source',
106 },
107 {
108 'stat' : 'lines_covered',
109 'format' : '*RESULT LinesCoveredTest: lines_covered_test= %d lines',
110 'group' : 'test',
111 },
112 {
113 'stat' : '100.0 * lines_covered / lines_executable',
114 'format' : '*RESULT PercentCovered: percent_covered= %g percent',
115 },
116 {
117 'stat' : '100.0 * lines_covered / lines_executable',
118 'format' : '*RESULT PercentCoveredSource: percent_covered_source= %g percent',
119 'group' : 'source',
120 },
121 {
122 'stat' : '100.0 * lines_covered / lines_executable',
123 'format' : '*RESULT PercentCoveredTest: percent_covered_test= %g percent',
124 'group' : 'test',
125 },
126 ],
127}