Home | History | Annotate | Download | only in unittests
      1 # pylint:disable=I0011,W0401,W0614,C0103,E0602
      2 ############################################################################
      3 # Copyright 2017 Intel Corporation
      4 #
      5 # Licensed under the Apache License, Version 2.0 (the "License");
      6 # you may not use this file except in compliance with the License.
      7 # You may obtain a copy of the License at
      8 #
      9 #     http://www.apache.org/licenses/LICENSE-2.0
     10 #
     11 # Unless required by applicable law or agreed to in writing, software
     12 # distributed under the License is distributed on an "AS IS" BASIS,
     13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14 # See the License for the specific language governing permissions and
     15 # limitations under the License.
     16 ############################################################################
     17 """Build configuration for unit test of minimal library.
     18 """
     19 Import('*')
     20 env.PartName('utest')
     21 
     22 env.DependsOn([Component(env.subst('${PART_PARENT_NAME}'),
     23                          requires=REQ.EXISTS|REQ.DEFAULT),
     24                Component('gtest'),
     25                Component('common-testhelper'),
     26                Component('verifier')])
     27 
     28 utest_files = Pattern(src_dir='.',
     29                       includes=['*-test.cc',
     30                                 '*-testhelper.cc'],
     31                       recursive=True).files()
     32 
     33 env.Append(CPPPATH='#')
     34 
     35 env['UNIT_TEST_TARGET_NAME'] = "${PART_PARENT_NAME}-${UNIT_TEST_TARGET}"
     36 
     37 shlib = []
     38 
     39 if 'shared' in env['MODE']:
     40     if env['TARGET_OS'] == 'win32':
     41         dependent_shlib = env.subst("${{DEPENDS.{0}.SDKBIN}}"
     42                                     .format(env.subst("${PART_PARENT_NAME}")))
     43         shlib = env.CCopy("${INSTALL_TEST_BIN}", dependent_shlib)
     44     else:
     45         dependent_shlib = env.subst("${{DEPENDS.{0}.SDKLIB}}"
     46                                     .format(env.subst("${PART_PARENT_NAME}")))
     47         shlib = env.CCopy("${INSTALL_LIB}", dependent_shlib)
     48 
     49 
     50 utest = env.UnitTest('${PART_SHORT_NAME}',
     51                      utest_files,
     52                      command_args=[
     53                          '--gtest_filter=**',
     54                          '--gtest_color=yes',
     55                          '--gtest_print_time=1',
     56                          '--gtest_output=xml',
     57                          #'--gtest_break_on_failure',
     58                          #'--gtest_catch_exceptions=0',
     59                      ],
     60                      data_src=[],
     61                      make_pdb=(env.isConfigBasedOn('debug')),
     62                      INSTALL_BIN='${INSTALL_TEST_BIN}'
     63                     )
     64 Depends(utest, shlib)
     65