Upstream version 10.38.222.0
[platform/framework/web/crosswalk.git] / src / chrome / js_unittest_rules.gypi
1 # Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 # This file defines rules that allow you to include JavaScript tests in
6 # your unittests target.
7
8 # To add JS unittests to an existing unittest target, first include
9 # 'js_unittest_vars.gypi' at the top of your GYP file to define the required
10 # variables:
11 #
12 #  'includes': [
13 #    '<(DEPTH)/chrome/js_unittest_vars.gypi',
14 #  ],
15 #
16 # Then include this rule file in each of your unittest targets:
17 #
18 #    {
19 #      'target_name': 'my_unittests',
20 #      ...
21 #      'includes': [
22 #        '<(DEPTH)/chrome/js_unittest_rules.gypi',
23 #      ],
24 #    }
25 #
26 # Note that when you run your TestSuite, you'll need to call
27 # chrome::RegisterPathProvider(). These path providers are required by
28 # src/chrome/test/base/v8_unit_test.cc to setup and run the tests.
29
30 {
31     'dependencies': [
32       # Used by rule js2unit below.
33       '../v8/src/d8.gyp:d8#host',
34     ],
35   'rules': [
36     {
37       'rule_name': 'copyjs',
38       'extension': 'js',
39       'msvs_external_rule': 1,
40       'inputs': [
41         '<(DEPTH)/build/cp.py',
42       ],
43       'outputs': [
44         '<(PRODUCT_DIR)/test_data/chrome/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).<(_extension)',
45       ],
46       'action': [
47         'python',
48         '<@(_inputs)',
49         '<(RULE_INPUT_PATH)',
50         '<@(_outputs)',
51       ],
52     },
53     {
54       'rule_name': 'js2unit',
55       'extension': 'gtestjs',
56       'msvs_external_rule': 1,
57       'inputs': [
58         '<(gypv8sh)',
59         '<(PRODUCT_DIR)/d8<(EXECUTABLE_SUFFIX)',
60         '<(mock_js)',
61         '<(test_api_js)',
62         '<(js2gtest)',
63       ],
64       'outputs': [
65         '<(INTERMEDIATE_DIR)/chrome/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT)-gen.cc',
66         '<(PRODUCT_DIR)/test_data/chrome/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).<(_extension)',
67       ],
68       'process_outputs_as_sources': 1,
69       'action': [
70         'python',
71         '<@(_inputs)',
72         'unit',
73         '<(RULE_INPUT_PATH)',
74         'chrome/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).<(_extension)',
75         '<@(_outputs)',
76       ],
77     },
78   ],
79 }