summaryrefslogtreecommitdiffstats
path: root/build/ios/chrome_ios.croc
blob: 938a2e9d01bb332024b302cf08e7e60846e1cafb (plain)
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
# -*- python -*-
# Crocodile config file for Chromium iOS.
#
# Note that Chromium iOS also uses the config file at src/build/common.croc.
#
# See src/tools/code_coverage/example.croc for more info on config files.

{
  # List of rules, applied in order
  'rules' : [
    # Specify inclusions before exclusions, since rules are in order.

    # Exclude everything to negate whatever is in src/build/common.croc
    {
      'regexp' : '.*',
      'include' : 0,
    },

    # Include all directories (but not the files in the directories).
    # This is a workaround for how croc.py walks the directory tree. See the
    # TODO in the AddFiles method of src/tools/code_coverage/croc.py
    {
      'regexp' : '.*/$',
      'include' : 1,
    },

    # Include any file with an 'ios' directory in the path.
    {
      'regexp' : '.*/ios/.*',
      'include' : 1,
      'add_if_missing' : 1,
    },
    
    # Include any file that ends with _ios.
    {
      'regexp' : '.*_ios\\.(c|cc|m|mm)$',
      'include' : 1,
      'add_if_missing' : 1,
    },

    # Include any file that ends with _ios_unittest (and label it a test).
    {
      'regexp' : '.*_ios_unittest\\.(c|cc|m|mm)$',
      'include' : 1,
      'add_if_missing' : 1,
      'group' : 'test',
    },

    # Don't scan for executable lines in uninstrumented header files
    {
      'regexp' : '.*\\.(h|hpp)$',
      'add_if_missing' : 0,
    },

    # Don't measure coverage of perftests.
    {
      'regexp' : '.*perftest\\.(c|cc|m|mm)$',
      'include' : 0,
    },

    # Languages
    {
      'regexp' : '.*\\.m$',
      'language' : 'ObjC',
    },
    {
      'regexp' : '.*\\.mm$',
      'language' : 'ObjC++',
    },
  ],
}