| # -*- python -*- |
| # Crocodile config file for Chromium - settings common to all platforms |
| # |
| # This should be speicified before the platform-specific config, for example: |
| # croc -c chrome_common.croc -c linux/chrome_linux.croc |
| |
| { |
| # List of root directories, applied in order |
| 'roots' : [ |
| # Sub-paths we specifically care about and want to call out |
| { |
| 'root' : '_/src', |
| 'altname' : 'CHROMIUM', |
| }, |
| ], |
| |
| # List of rules, applied in order |
| # Note that any 'include':0 rules here will be overridden by the 'include':1 |
| # rules in the platform-specific configs. |
| 'rules' : [ |
| # Don't scan for executable lines in uninstrumented C++ header files |
| { |
| 'regexp' : '.*\\.(h|hpp)$', |
| 'add_if_missing' : 0, |
| }, |
| |
| # Groups |
| { |
| 'regexp' : '', |
| 'group' : 'source', |
| }, |
| { |
| 'regexp' : '.*_(test|unittest)\\.', |
| 'group' : 'test', |
| }, |
| |
| # Languages |
| { |
| 'regexp' : '.*\\.(c|h)$', |
| 'language' : 'C', |
| }, |
| { |
| 'regexp' : '.*\\.(cc|cpp|hpp)$', |
| 'language' : 'C++', |
| }, |
| |
| # Files/paths to include. Specify these before the excludes, since rules |
| # are in order. |
| { |
| 'regexp' : '^CHROMIUM/(base|media|net|printing|remoting|chrome|webkit/glue|native_client)/', |
| 'include' : 1, |
| }, |
| # Don't include subversion or mercurial SCM dirs |
| { |
| 'regexp' : '.*/(\\.svn|\\.hg)/', |
| 'include' : 0, |
| }, |
| # Don't include output dirs |
| { |
| 'regexp' : '.*/(Debug|Release|sconsbuild|out|xcodebuild)/', |
| 'include' : 0, |
| }, |
| # Don't include third-party source |
| { |
| 'regexp' : '.*/third_party/', |
| 'include' : 0, |
| }, |
| # We don't run the V8 test suite, so we don't care about V8 coverage. |
| { |
| 'regexp' : '.*/v8/', |
| 'include' : 0, |
| }, |
| ], |
| |
| # Paths to add source from |
| 'add_files' : [ |
| 'CHROMIUM' |
| ], |
| |
| # Statistics to print |
| 'print_stats' : [ |
| { |
| 'stat' : 'files_executable', |
| 'format' : '*RESULT FilesKnown: files_executable= %d files', |
| }, |
| { |
| 'stat' : 'files_instrumented', |
| 'format' : '*RESULT FilesInstrumented: files_instrumented= %d files', |
| }, |
| { |
| 'stat' : '100.0 * files_instrumented / files_executable', |
| 'format' : '*RESULT FilesInstrumentedPercent: files_instrumented_percent= %g', |
| }, |
| { |
| 'stat' : 'lines_executable', |
| 'format' : '*RESULT LinesKnown: lines_known= %d lines', |
| }, |
| { |
| 'stat' : 'lines_instrumented', |
| 'format' : '*RESULT LinesInstrumented: lines_instrumented= %d lines', |
| }, |
| { |
| 'stat' : 'lines_covered', |
| 'format' : '*RESULT LinesCoveredSource: lines_covered_source= %d lines', |
| 'group' : 'source', |
| }, |
| { |
| 'stat' : 'lines_covered', |
| 'format' : '*RESULT LinesCoveredTest: lines_covered_test= %d lines', |
| 'group' : 'test', |
| }, |
| { |
| 'stat' : '100.0 * lines_covered / lines_executable', |
| 'format' : '*RESULT PercentCovered: percent_covered= %g', |
| }, |
| { |
| 'stat' : '100.0 * lines_covered / lines_executable', |
| 'format' : '*RESULT PercentCoveredSource: percent_covered_source= %g', |
| 'group' : 'source', |
| }, |
| { |
| 'stat' : '100.0 * lines_covered / lines_executable', |
| 'format' : '*RESULT PercentCoveredTest: percent_covered_test= %g', |
| 'group' : 'test', |
| }, |
| ], |
| } |