replace : iotivity -> iotivity-sec
[platform/upstream/iotivity.git] / resource / provisioning / unittests / SConscript
index 20f2a19..3b381ba 100644 (file)
 #
 #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 
-Import('env')
 import os
 import os.path
-provisiontests_env = env.Clone()
+from tools.scons.RunTest import run_test
 
+# SConscript file for Local PKI google tests
+gtest_env = SConscript('#extlibs/gtest/SConscript')
+provisiontests_env = gtest_env.Clone()
 src_dir = provisiontests_env.get('SRC_DIR')
+target_os = provisiontests_env.get('TARGET_OS')
+with_ra = provisiontests_env.get('WITH_RA')
+with_ra_ibb = provisiontests_env.get('WITH_RA_IBB')
+
 ######################################################################
 # Build flags
 ######################################################################
@@ -35,21 +41,21 @@ provisiontests_env.PrependUnique(CPPPATH = [
                '../../csdk/security/provisioning/include',
                '../../csdk/security/provisioning/include/oxm',
                '../../csdk/security/provisioning/include/internal',
+               '../../csdk/security/provisioning/include/cloud',
                '../../csdk/stack/include/internal',
                '../../csdk/connectivity/api',
+               '../../csdk/connectivity/inc/pkix',
                '../../csdk/connectivity/external/inc',
                '../../csdk/ocsocket/include',
                '../../csdk/ocrandom/include',
                '../../csdk/logger/include',
-               '../../../extlibs/gtest/gtest-1.7.0/include',
+               '../../csdk/connectivity/lib/libcoap-4.1.1/include',
+               '../../../extlibs/cjson/',
                '../../../extlibs/hippomocks-master/HippoMocks',
                '../../../extlibs/hippomocks-master/HippoMocksTest'
                ])
 
-provisiontests_env.AppendUnique(CXXFLAGS = ['-std=c++0x', '-Wall', '-pthread'])
-provisiontests_env.AppendUnique(LIBS = ['-lpthread', '-ldl'])
-provisiontests_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
-provisiontests_env.AppendUnique(LIBPATH = [src_dir + '/extlibs/gtest/gtest-1.7.0/lib/.libs'])
+provisiontests_env.AppendUnique(LIBPATH = [provisiontests_env.get('BUILD_DIR')])
 provisiontests_env.PrependUnique(LIBS = [
         'ocprovision',
                'oc',
@@ -57,44 +63,58 @@ provisiontests_env.PrependUnique(LIBS = [
                'octbstack',
                'oc_logger',
                'connectivity_abstraction',
-               'coap',
-               'gtest',
-               'gtest_main',
+               'coap'
                ])
 
-if env.get('SECURED') == '1':
-    provisiontests_env.AppendUnique(LIBS = ['tinydtls'])
-if env.get('DTLS_WITH_X509') == '1':
-       provisiontests_env.AppendUnique(LIBS = ['CKManager'])
-       provisiontests_env.AppendUnique(LIBS = ['asn1'])
+if with_ra_ibb:
+       provisiontests_env.AppendUnique(LIBS = provisiontests_env['RALIBS'], LIBPATH = provisiontests_env['RALIBPATH'], RPATH = provisiontests_env['RARPATH'])
+       print "RALIBS = %s" % provisiontests_env['RALIBS']
+       print "RALIBPATH = %s" % provisiontests_env['RALIBPATH']
+       print "RARPATH = %s" % provisiontests_env['RARPATH']
+else :
+       if with_ra:
+               provisiontests_env.AppendUnique(LIBS = ['ra_xmpp'])
+
+if provisiontests_env.get('SECURED') == '1':
+       provisiontests_env.AppendUnique(LIBS = ['mbedtls', 'mbedx509','mbedcrypto'])
 
 
-if env.get('LOGGING'):
+if provisiontests_env.get('LOGGING'):
        provisiontests_env.AppendUnique(CPPDEFINES = ['TB_LOG'])
 
 ######################################################################
 # Source files and Targets
 ######################################################################
-unittests = provisiontests_env.Program('provisiontests', ['OCProvisioningTest.cpp'])
+ocprovisiontest_src = [
+       'OCProvisioningTest.cpp'
+       ]
+
+if provisiontests_env.get('WITH_TCP') == True:
+       ocprovisiontest_src = ocprovisiontest_src + [
+       'OCCloudProvisioningTest.cpp'
+       ]
+
+unittests = provisiontests_env.Program('provisiontests', ocprovisiontest_src)
 
 Alias("provisiontests", [unittests])
 
-env.AppendTarget('provisiontests')
-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/'
+provisiontests_env.AppendTarget('provisiontests')
+if provisiontests_env.get('TEST') == '1':
+       if target_os in ['linux']:
+               out_dir = provisiontests_env.get('BUILD_DIR')
+               result_dir = os.path.join(provisiontests_env.get('BUILD_DIR'), 'test_out') + os.sep
                if not os.path.isdir(result_dir):
                        os.makedirs(result_dir)
                provisiontests_env.AppendENVPath('GTEST_OUTPUT', ['xml:'+ result_dir])
                provisiontests_env.AppendENVPath('LD_LIBRARY_PATH', [out_dir])
-               provisiontests_env.AppendENVPath('LD_LIBRARY_PATH', ['./extlibs/gtest/gtest-1.7.0/lib/.libs'])
-               ut = provisiontests_env.Command ('ut', None, out_dir + 'resource/provisioning/unittests/provisiontests')
-               AlwaysBuild ('ut')
+               run_test(provisiontests_env,
+# TODO: fix this test on linux and remove this comment line
+#                               'resource_provisioning_unittests.memcheck',
+                                '',
+                                'resource/provisioning/unittests/provisiontests')
 
 src_dir = provisiontests_env.get('SRC_DIR')
 svr_db_src_dir = src_dir + '/resource/provisioning/examples/'
-svr_db_build_dir = env.get('BUILD_DIR') +'/resource/provisioning/unittests/'
+svr_db_build_dir = os.path.join(provisiontests_env.get('BUILD_DIR'), 'resource', 'provisioning', 'unittests')
 provisiontests_env.Alias("install", provisiontests_env.Install( svr_db_build_dir,
                                 svr_db_src_dir + 'oic_svr_db_client.json'))