Update Snapshot(2018-02-28)
[platform/upstream/iotivity.git] / resource / unittests / SConscript
index 4ecda8a..23b825d 100644 (file)
 #
 #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 
-Import('env')
 import os
 import os.path
-unittests_env = env.Clone()
 
+# SConscript file for Local PKI google tests
+gtest_env = SConscript('#extlibs/gtest/SConscript')
+unittests_env = gtest_env.Clone()
 src_dir = unittests_env.get('SRC_DIR')
+target_os = unittests_env.get('TARGET_OS')
+with_mq = unittests_env.get('WITH_MQ')
+rd_mode = unittests_env.get('RD_MODE')
+
 ######################################################################
 # Build flags
 ######################################################################
@@ -31,58 +36,72 @@ unittests_env.PrependUnique(CPPPATH = [
                '../include',
                '../oc_logger/include',
                '../csdk/stack/include',
+               '../csdk/security/include',
+               '../csdk/stack/include/internal',
+               '../csdk/connectivity/api',
+               '../csdk/connectivity/external/inc',
                '../csdk/ocsocket/include',
-               '../csdk/ocrandom/include',
+               '../c_common/ocrandom/include',
                '../csdk/logger/include',
-               '../../extlibs/gtest/gtest-1.7.0/include',
-               '../../extlibs/hippomocks-master/HippoMocks',
-               '../../extlibs/hippomocks-master/HippoMocksTest'
+               '#extlibs/hippomocks-master/HippoMocks',
+               '#extlibs/hippomocks-master/HippoMocksTest'
                ])
 
-unittests_env.AppendUnique(CXXFLAGS = ['-std=c++0x', '-Wall', '-pthread'])
-unittests_env.AppendUnique(LIBS = ['-lpthread'])
-unittests_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
-unittests_env.AppendUnique(LIBPATH = [src_dir + '/extlibs/gtest/gtest-1.7.0/lib/.libs'])
+unittests_env.AppendUnique(LIBPATH = [unittests_env.get('BUILD_DIR')])
 unittests_env.PrependUnique(LIBS = [
                'oc',
                'octbstack',
                'oc_logger',
                'connectivity_abstraction',
-               'coap',
-               'gtest',
-               'gtest_main'
+               'coap'
                ])
 
-if env.get('SECURED') == '1':
-    unittests_env.AppendUnique(LIBS = ['tinydtls'])
-unittests_env.ParseConfig('pkg-config --libs glib-2.0');
+if unittests_env.get('SECURED') == '1':
+       unittests_env.AppendUnique(LIBS = ['mbedtls', 'mbedx509','mbedcrypto'])
 
-if env.get('LOGGING'):
+if unittests_env.get('LOGGING'):
        unittests_env.AppendUnique(CPPDEFINES = ['TB_LOG'])
 
+if unittests_env.get('WITH_CLOUD'):
+       unittests_env.AppendUnique(CPPDEFINES = ['WITH_CLOUD'])
+
 ######################################################################
 # Source files and Targets
 ######################################################################
-unittests = unittests_env.Program('unittests', ['ConstructResourceTest.cpp',
-                                                'OCPlatformTest.cpp',
-                                                'OCRepresentationTest.cpp',
-                                                'OCResourceTest.cpp',
-                                                'OCExceptionTest.cpp',
-                                                'OCHeaderOptionTest.cpp'])
+
+unittests_src = [
+               'ConstructResourceTest.cpp',
+               'OCPlatformTest.cpp',
+               'OCRepresentationTest.cpp',
+               'OCRepresentationEncodingTest.cpp',
+               'OCResourceTest.cpp',
+               'OCExceptionTest.cpp',
+               'OCResourceResponseTest.cpp',
+               'OCHeaderOptionTest.cpp'
+       ]
+
+if (('SUB' in with_mq) or ('PUB' in with_mq) or ('BROKER' in with_mq)):
+       unittests_src = unittests_src + ['OCMQResourceTest.cpp']
+
+if unittests_env.get('WITH_CLOUD'):
+       unittests_src = unittests_src + ['OCAccountManagerTest.cpp']
+
+unittests = unittests_env.Program('unittests', unittests_src)
 
 Alias("unittests", [unittests])
 
-env.AppendTarget('unittests')
-if env.get('TEST') == '1':
-       target_os = env.get('TARGET_OS')
-       if target_os == 'linux':
-               out_dir = env.get('BUILD_DIR')
-               result_dir = env.get('BUILD_DIR') + '/test_out/'
-               if not os.path.isdir(result_dir):
-                       os.makedirs(result_dir)
-               unittests_env.AppendENVPath('GTEST_OUTPUT', ['xml:'+ result_dir])
-               unittests_env.AppendENVPath('LD_LIBRARY_PATH', [out_dir])
-               unittests_env.AppendENVPath('LD_LIBRARY_PATH', ['./extlibs/gtest/gtest-1.7.0/lib/.libs'])
-               ut = unittests_env.Command ('ut', None,
-                [ 'valgrind --leak-check=full --xml=yes --xml-file=resource_unittests_unittests.memcheck ' + out_dir + 'resource/unittests/unittests'])
-               AlwaysBuild ('ut')
+unittests_env.AppendTarget('unittests')
+if unittests_env.get('TEST') == '1':
+       if target_os in ['linux']:
+                from tools.scons.RunTest import *
+                run_test(unittests_env,
+                         'resource_unittests_unittests.memcheck',
+                         'resource/unittests/unittests')
+
+src_dir = unittests_env.get('SRC_DIR')
+svr_db_src_dir = os.path.join(src_dir, 'resource/examples/')
+svr_db_build_dir = os.path.join(unittests_env.get('BUILD_DIR'), 'resource', 'unittests') + os.sep
+unittests_env.Alias("install",
+                    unittests_env.Install(svr_db_build_dir,
+                                          os.path.join(svr_db_src_dir,
+                                                       'oic_svr_db_client.dat')))