Home | History | Annotate | Download | only in build
      1 # -*- 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 }
    128