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)\\.', 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|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|sconsbuild|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', 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', 115 }, 116 { 117 'stat' : '100.0 * lines_covered / lines_executable', 118 'format' : '*RESULT PercentCoveredSource: percent_covered_source= %g', 119 'group' : 'source', 120 }, 121 { 122 'stat' : '100.0 * lines_covered / lines_executable', 123 'format' : '*RESULT PercentCoveredTest: percent_covered_test= %g', 124 'group' : 'test', 125 }, 126 ], 127 } 128