Home | History | Annotate | Download | only in tests
      1 # Copyright (c) 2012 The ANGLE Project 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 {
      6     'variables':
      7     {
      8         'angle_build_conformance_tests%': '0',
      9         'angle_build_deqp_tests%': '0',
     10     },
     11     'targets':
     12     [
     13         {
     14             'target_name': 'gtest',
     15             'type': 'static_library',
     16             'includes': [ '../build/common_defines.gypi', ],
     17             'include_dirs':
     18             [
     19                 'third_party/googletest',
     20                 'third_party/googletest/include',
     21             ],
     22             'sources':
     23             [
     24                 'third_party/googletest/src/gtest-all.cc',
     25             ],
     26             'defines':
     27             [
     28                 '_VARIADIC_MAX=10',
     29             ],
     30             'direct_dependent_settings':
     31             {
     32                 'defines':
     33                 [
     34                     '_VARIADIC_MAX=10',
     35                 ],
     36             },
     37         },
     38 
     39         {
     40             'target_name': 'gmock',
     41             'type': 'static_library',
     42             'includes': [ '../build/common_defines.gypi', ],
     43             'include_dirs':
     44             [
     45                 'third_party/googlemock',
     46                 'third_party/googlemock/include',
     47                 'third_party/googletest/include',
     48             ],
     49             'sources':
     50             [
     51                 'third_party/googlemock/src/gmock-all.cc',
     52             ],
     53             'defines':
     54             [
     55                 '_VARIADIC_MAX=10',
     56             ],
     57             'direct_dependent_settings':
     58             {
     59                 'defines':
     60                 [
     61                     '_VARIADIC_MAX=10',
     62                 ],
     63             },
     64         },
     65 
     66         {
     67             'target_name': 'preprocessor_tests',
     68             'type': 'executable',
     69             'dependencies':
     70             [
     71                 '../src/angle.gyp:preprocessor',
     72                 'gtest',
     73                 'gmock',
     74             ],
     75             'include_dirs':
     76             [
     77                 '../src/compiler/preprocessor',
     78                 'third_party/googletest/include',
     79                 'third_party/googlemock/include',
     80             ],
     81             'includes':
     82             [
     83                 '../build/common_defines.gypi',
     84                 'preprocessor_tests/preprocessor_tests.gypi',
     85             ],
     86             'sources':
     87             [
     88                 'preprocessor_tests/preprocessor_test_main.cpp',
     89             ],
     90         },
     91 
     92         {
     93             'target_name': 'compiler_tests',
     94             'type': 'executable',
     95             'dependencies':
     96             [
     97                 '../src/angle.gyp:translator_static',
     98                 'gtest',
     99             ],
    100             'include_dirs':
    101             [
    102                 '../include',
    103                 '../src',
    104                 'third_party/googletest/include',
    105             ],
    106             'includes':
    107             [
    108                 '../build/common_defines.gypi',
    109                 'compiler_tests/compiler_tests.gypi',
    110             ],
    111             'sources':
    112             [
    113                 'compiler_tests/compiler_test_main.cpp',
    114             ],
    115         },
    116 
    117         {
    118             'target_name': 'angle_implementation_unit_tests',
    119             'type': 'executable',
    120             'dependencies':
    121             [
    122                 '../src/angle.gyp:libGLESv2_static',
    123                 'gtest',
    124                 'gmock',
    125             ],
    126             'include_dirs':
    127             [
    128                 '../include',
    129                 '../src',
    130                 'third_party/googletest/include',
    131                 'third_party/googlemock/include',
    132             ],
    133             'includes':
    134             [
    135                 '../build/common_defines.gypi',
    136                 'angle_implementation_unit_tests/angle_implementation_unit_tests.gypi',
    137             ],
    138             'sources':
    139             [
    140                 'angle_implementation_unit_tests/angle_implementation_unit_tests_main.cpp',
    141             ],
    142         },
    143     ],
    144 
    145     'conditions':
    146     [
    147         ['OS=="win"',
    148         {
    149             'targets':
    150             [
    151                 {
    152                     'target_name': 'angle_tests',
    153                     'type': 'executable',
    154                     'includes': [ '../build/common_defines.gypi', ],
    155                     'dependencies':
    156                     [
    157                         '../src/angle.gyp:libGLESv2',
    158                         '../src/angle.gyp:libEGL',
    159                         'gtest',
    160                         '../util/util.gyp:angle_util',
    161                     ],
    162                     'include_dirs':
    163                     [
    164                         '../include',
    165                         'angle_tests',
    166                         'third_party/googletest/include',
    167                     ],
    168                     'sources':
    169                     [
    170                         '<!@(python <(angle_path)/enumerate_files.py angle_tests -types *.cpp *.h *.inl)'
    171                     ],
    172                 },
    173                 {
    174                     'target_name': 'standalone_tests',
    175                     'type': 'executable',
    176                     'includes': [ '../build/common_defines.gypi', ],
    177                     'dependencies':
    178                     [
    179                         'gtest',
    180                         'gmock',
    181                     ],
    182                     'include_dirs':
    183                     [
    184                         '../include',
    185                         'angle_tests',
    186                         'third_party/googletest/include',
    187                         'third_party/googlemock/include',
    188                     ],
    189                     'sources':
    190                     [
    191                         '<!@(python <(angle_path)/enumerate_files.py standalone_tests -types *.cpp *.h)'
    192                     ],
    193                 },
    194                 {
    195                     'target_name': 'angle_perf_tests',
    196                     'type': 'executable',
    197                     'includes': [ '../build/common_defines.gypi', ],
    198                     'dependencies':
    199                     [
    200                         '../src/angle.gyp:libGLESv2',
    201                         '../src/angle.gyp:libEGL',
    202                         'gtest',
    203                         '../util/util.gyp:angle_util',
    204                     ],
    205                     'include_dirs':
    206                     [
    207                         '../include',
    208                         'third_party/googletest/include',
    209                     ],
    210                     'sources':
    211                     [
    212                         'perf_tests/BufferSubData.cpp',
    213                         'perf_tests/BufferSubData.h',
    214                         'perf_tests/SimpleBenchmark.cpp',
    215                         'perf_tests/SimpleBenchmark.h',
    216                         'perf_tests/SimpleBenchmarks.cpp',
    217                         'perf_tests/TexSubImage.cpp',
    218                         'perf_tests/TexSubImage.h',
    219                     ],
    220                 },
    221             ],
    222             'conditions':
    223             [
    224                 ['angle_build_conformance_tests',
    225                 {
    226                     'variables':
    227                     {
    228                         'gles_conformance_tests_output_dir': '<(SHARED_INTERMEDIATE_DIR)/conformance_tests',
    229                         'gles_conformance_tests_input_dir': 'third_party/gles_conformance_tests/conform/GTF_ES/glsl/GTF',
    230                         'gles_conformance_tests_generator_script': 'gles_conformance_tests/generate_gles_conformance_tests.py',
    231                     },
    232                     'targets':
    233                     [
    234                         {
    235                             'target_name': 'gles2_conformance_tests',
    236                             'type': 'executable',
    237                             'includes': [ '../build/common_defines.gypi', ],
    238                             'dependencies':
    239                             [
    240                                 '../src/angle.gyp:libGLESv2',
    241                                 '../src/angle.gyp:libEGL',
    242                                 'gtest',
    243                                 'third_party/gles_conformance_tests/conform/GTF_ES/glsl/GTF/es_cts.gyp:es_cts_test_data',
    244                                 'third_party/gles_conformance_tests/conform/GTF_ES/glsl/GTF/es_cts.gyp:es2_cts',
    245                             ],
    246                             'variables':
    247                             {
    248                                 'gles2_conformance_tests_input_file': '<(gles_conformance_tests_input_dir)/mustpass_es20.run',
    249                                 'gles2_conformance_tests_generated_file': '<(gles_conformance_tests_output_dir)/generated_gles2_conformance_tests.cpp',
    250                             },
    251                             'sources':
    252                             [
    253                                 '<!@(python <(angle_path)/enumerate_files.py gles_conformance_tests -types *.cpp *.h *.inl)',
    254                                 '<(gles2_conformance_tests_generated_file)',
    255                             ],
    256                             'include_dirs':
    257                             [
    258                                 '../include',
    259                                 'gles_conformance_tests',
    260                                 'third_party/googletest/include',
    261                             ],
    262                             'defines':
    263                             [
    264                                 'CONFORMANCE_TESTS_TYPE=CONFORMANCE_TESTS_ES2',
    265                             ],
    266                             'actions':
    267                             [
    268                                 {
    269                                     'action_name': 'generate_gles2_conformance_tests',
    270                                     'message': 'Generating ES2 conformance tests...',
    271                                     'msvs_cygwin_shell': 0,
    272                                     'inputs':
    273                                     [
    274                                         '<(gles_conformance_tests_generator_script)',
    275                                         '<(gles2_conformance_tests_input_file)',
    276                                     ],
    277                                     'outputs':
    278                                     [
    279                                         '<(gles2_conformance_tests_generated_file)',
    280                                     ],
    281                                     'action':
    282                                     [
    283                                         'python',
    284                                         '<(gles_conformance_tests_generator_script)',
    285                                         '<(gles2_conformance_tests_input_file)',
    286                                         '<(gles_conformance_tests_input_dir)',
    287                                         '<(gles2_conformance_tests_generated_file)',
    288                                     ],
    289                                 },
    290                             ],
    291                         },
    292                         {
    293                             'target_name': 'gles3_conformance_tests',
    294                             'type': 'executable',
    295                             'includes': [ '../build/common_defines.gypi', ],
    296                             'dependencies':
    297                             [
    298                                 '../src/angle.gyp:libGLESv2',
    299                                 '../src/angle.gyp:libEGL',
    300                                 'gtest',
    301                                 'third_party/gles_conformance_tests/conform/GTF_ES/glsl/GTF/es_cts.gyp:es_cts_test_data',
    302                                 'third_party/gles_conformance_tests/conform/GTF_ES/glsl/GTF/es_cts.gyp:es3_cts',
    303                             ],
    304                             'variables':
    305                             {
    306                                 'gles3_conformance_tests_input_file': '<(gles_conformance_tests_input_dir)/mustpass_es30.run',
    307                                 'gles3_conformance_tests_generated_file': '<(gles_conformance_tests_output_dir)/generated_gles3_conformance_tests.cpp',
    308                             },
    309                             'sources':
    310                             [
    311                                 '<!@(python <(angle_path)/enumerate_files.py gles_conformance_tests -types *.cpp *.h *.inl)',
    312                                 '<(gles3_conformance_tests_generated_file)',
    313                             ],
    314                             'include_dirs':
    315                             [
    316                                 '../include',
    317                                 'gles_conformance_tests',
    318                                 'third_party/googletest/include',
    319                             ],
    320                             'defines':
    321                             [
    322                                 'CONFORMANCE_TESTS_TYPE=CONFORMANCE_TESTS_ES3',
    323                             ],
    324                             'msvs_settings':
    325                             {
    326                                 'VCCLCompilerTool':
    327                                 {
    328                                     # MSVS has trouble compiling this due to the obj files becoming too large.
    329                                     'AdditionalOptions': [ '/bigobj' ],
    330                                 },
    331                             },
    332                             'actions':
    333                             [
    334                                 {
    335                                     'action_name': 'generate_gles3_conformance_tests',
    336                                     'message': 'Generating ES3 conformance tests...',
    337                                     'msvs_cygwin_shell': 0,
    338                                     'inputs':
    339                                     [
    340                                         '<(gles_conformance_tests_generator_script)',
    341                                         '<(gles3_conformance_tests_input_file)',
    342                                     ],
    343                                     'outputs':
    344                                     [
    345                                         '<(gles3_conformance_tests_generated_file)',
    346                                     ],
    347                                     'action':
    348                                     [
    349                                         'python',
    350                                         '<(gles_conformance_tests_generator_script)',
    351                                         '<(gles3_conformance_tests_input_file)',
    352                                         '<(gles_conformance_tests_input_dir)',
    353                                         '<(gles3_conformance_tests_generated_file)',
    354                                     ],
    355                                 },
    356                             ],
    357                         },
    358                     ],
    359                 }],
    360                 ['angle_build_deqp_tests',
    361                 {
    362                     'targets':
    363                     [
    364                         {
    365                             'target_name': 'deqp_tests',
    366                             'type': 'executable',
    367                             'includes': [ '../build/common_defines.gypi', ],
    368                             'dependencies':
    369                             [
    370                                 '../src/angle.gyp:libGLESv2',
    371                                 '../src/angle.gyp:libEGL',
    372                                 'gtest',
    373                                 'third_party/deqp/src/deqp/modules/gles3/gles3.gyp:deqp-gles3',
    374                                 'third_party/deqp/src/deqp/framework/platform/platform.gyp:tcutil-platform',
    375                             ],
    376                             'include_dirs':
    377                             [
    378                                 '../include',
    379                                 'third_party/googletest/include',
    380                                 'deqp_tests',
    381                             ],
    382                             'variables':
    383                             {
    384                                 'deqp_tests_output_dir': '<(SHARED_INTERMEDIATE_DIR)/deqp_tests',
    385                                 'deqp_tests_input_file': 'deqp_tests/deqp_tests.txt',
    386                                 'deqp_tests_generated_file': '<(deqp_tests_output_dir)/generated_deqp_tests.cpp',
    387                             },
    388                             'sources':
    389                             [
    390                                 '<!@(python <(angle_path)/enumerate_files.py deqp_tests -types *.cpp *.h *.inl)',
    391                                 '<(deqp_tests_generated_file)',
    392                             ],
    393                             'actions':
    394                             [
    395                                 {
    396                                     'action_name': 'generate_deqp_tests',
    397                                     'message': 'Generating dEQP tests...',
    398                                     'msvs_cygwin_shell': 0,
    399                                     'variables':
    400                                     {
    401                                         'deqp_tests_generator_script': 'deqp_tests/generate_deqp_tests.py',
    402                                     },
    403                                     'inputs':
    404                                     [
    405                                         '<(deqp_tests_generator_script)',
    406                                         '<(deqp_tests_input_file)',
    407                                     ],
    408                                     'outputs':
    409                                     [
    410                                         '<(deqp_tests_generated_file)',
    411                                     ],
    412                                     'action':
    413                                     [
    414                                         'python',
    415                                         '<(deqp_tests_generator_script)',
    416                                         '<(deqp_tests_input_file)',
    417                                         '<(deqp_tests_generated_file)',
    418                                     ],
    419                                 },
    420                             ],
    421                         },
    422                     ],
    423                 }],
    424             ],
    425         }],
    426     ],
    427 }
    428