initial test 60/272360/9
authorArkadiusz Nowak <a.nowak3@samsung.com>
Tue, 15 Mar 2022 06:27:50 +0000 (07:27 +0100)
committerArkadiusz Nowak <a.nowak3@samsung.com>
Thu, 17 Mar 2022 11:18:11 +0000 (12:18 +0100)
Change-Id: I17c970265dae1054b50f48f75c01c8858b8494f2

CMakeLists.txt
libsessiond.pc.in [new file with mode: 0644]
libsessiond/include/sessiond.h
libsessiond/src/lib.c
libsessiond/test/CMakeLists.txt [new file with mode: 0644]
libsessiond/test/test_h_lib.cpp [new file with mode: 0644]
packaging/sessiond.manifest
packaging/sessiond.spec
sessiond/test/CMakeLists.txt [new file with mode: 0644]
sessiond/test/test_one.cpp [new file with mode: 0644]

index 29346442a22f84eac2d644d5a21af85aefa36dca..3d14acb00c2b40ada687bb40a06926b8b5bd8e1c 100644 (file)
@@ -7,3 +7,21 @@ set(CMAKE_SHARED_LIBRARY_PREFIX "")
 
 add_subdirectory(libsessiond)
 add_subdirectory(sessiond)
+
+enable_testing()
+
+#set ON if want run libsessiond test
+option(ENABLE_LIB_TESTS "Run libsessiond unit tests after build" OFF)
+if(ENABLE_LIB_TESTS)
+       find_package(GTest REQUIRED)
+       include(CTest)
+       add_subdirectory(libsessiond/test)
+endif(ENABLE_LIB_TESTS)
+
+#set ON if want run sessiond tests
+option(ENABLE_SESSIOND_TESTS "Run sessiond unit tests after build" OFF)
+if(ENABLE_SESSIOND_TESTS)
+       find_package(GTest REQUIRED)
+       include(CTest)
+       add_subdirectory(sessiond/test)
+endif(ENABLE_SESSIOND_TESTS)
diff --git a/libsessiond.pc.in b/libsessiond.pc.in
new file mode 100644 (file)
index 0000000..28938c7
--- /dev/null
@@ -0,0 +1,11 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: libsessiond
+Description: libsessiond
+Requires: capi-base-common
+Version: @VERSION@
+Libs: -L${libdir} -lsessiond
+Cflags: -I${includedir}
index 4a9f60d039b2ebf35a042837084cc61898952ef0..f37b8ecdc6ba703462ddbd1bed47a626fc1e036e 100644 (file)
  * THE SOFTWARE. */
 
 #pragma once
+#ifdef __cplusplus
+extern "C" {
+#endif
 
+#include <stdint.h>
 #include <tizen.h>
 
-int test();
+typedef  int (*reply_callback) (int result, void *cb_data);
+
+int subsession_add_user(int session_uid, int user, reply_callback cb, void *cb_data);
+int subsession_remove_user(int session_uid, int user, reply_callback cb, void *cb_data);
+int subsession_switch_user(int session_uid, int prev_user, int next_user, reply_callback cb, void *cb_data);
+
+//Amd →(REGISTER WAIT CALLBACK)→ Sessiond
+//Amd ←(SIGNAL BROADCAST)← Sessiond
+//Amd →(WAIT DONE)→ Sessiond
+
+typedef  int (*add_user_wait_callback) (int session_uid, int user, void *cb_data);
+int subsession_add_user_wait_callback(int session_uid, add_user_wait_callback cb, void *cb_data);
+int subsession_add_user_wait_done(int session_uid, int user);
+
+typedef int (*remove_user_wait_callback) (int session_uid, int user, void *cb_data);
+int subsession_remove_user_wait_callback(int session_uid, remove_user_wait_callback cb, void *cb_data);
+int subsession_remove_user_wait_done(int session_uid, int user);
+
+typedef int (*switch_wait_callback) (int session_uid, uint64_t switch_id, int prev_user, int next_user, void *cb_data);
+int subsession_switch_wait_callback(int session_uid, switch_wait_callback cb, void *cb_data);
+int subsession_switch_wait_done(int session_uid, uint64_t switch_id);
+//Amd →(CALL)→ Sessiond
+
+typedef int (*switch_completion_callback)(int session_uid, uint64_t switch_id);
+int subsession_switch_completion_callback(int session_uid, switch_completion_callback cb, void *cb_data);
+int subsession_get_user_list(int session_uid, int **user_list, int *user_count);
+
+#ifdef __cplusplus
+}
+#endif
index 2a146628a5830be2fae58a4c1757640461903483..02f15597222037ecaacb9dd516f68b5b09fd4cd4 100644 (file)
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE. */
 
+
 #include "sessiond.h"
 
-int test() {
-       return 42;
+int subsession_add_user(int session_uid, int user, reply_callback cb, void *cb_data) {
+       return TIZEN_ERROR_ACCOUNT;
+}
+
+int subsession_remove_user(int session_uid, int user, reply_callback cb, void *cb_data) {
+       return TIZEN_ERROR_ACCOUNT;
+}
+
+int subsession_switch_user(int session_uid, int prev_user, int next_user, reply_callback cb, void *cb_data) {
+
+       return TIZEN_ERROR_ACCOUNT;
+}
+
+//Amd →(REGISTER WAIT CALLBACK)→ Sessiond
+//Amd ←(SIGNAL BROADCAST)← Sessiond
+//Amd →(WAIT DONE)→ Sessiond
+
+int subsession_add_user_wait_callback(int session_uid, add_user_wait_callback cb, void *cb_data) {
+
+       return TIZEN_ERROR_ACCOUNT;
+}
+
+int subsession_add_user_wait_done(int session_uid, int user) {
+
+       return TIZEN_ERROR_ACCOUNT;
+}
+
+int subsession_remove_user_wait_callback(int session_uid, remove_user_wait_callback cb, void *cb_data) {
+
+       return TIZEN_ERROR_ACCOUNT;
+}
+
+int subsession_remove_user_wait_done(int session_uid, int user) {
+
+       return TIZEN_ERROR_ACCOUNT;
+}
+
+int subsession_switch_wait_callback(int session_uid, switch_wait_callback cb, void *cb_data) {
+
+       return TIZEN_ERROR_ACCOUNT;
+}
+
+int subsession_switch_wait_done(int session_uid, uint64_t switch_id) {
+
+       return TIZEN_ERROR_ACCOUNT;
+}
+//Amd →(CALL)→ Sessiond
+
+int subsession_switch_completion_callback(int session_uid, switch_completion_callback cb, void *cb_data) {
+
+       return TIZEN_ERROR_ACCOUNT;
+}
+
+int subsession_get_user_list(int session_uid, int **user_list, int *user_count) {
+
+       return TIZEN_ERROR_ACCOUNT;
 }
diff --git a/libsessiond/test/CMakeLists.txt b/libsessiond/test/CMakeLists.txt
new file mode 100644 (file)
index 0000000..1271a0d
--- /dev/null
@@ -0,0 +1,13 @@
+function(add_libsd_mocked_test name wraps)
+
+       message("cmake src dir ====> ${CMAKE_SOURCE_DIR}")
+       set(CMAKE_CXX_STANDARD 20)
+       add_executable(test_${name} test_${name}.cpp)
+       add_library( libsessiond_test STATIC ${CMAKE_SOURCE_DIR}/libsessiond/src/lib.c)
+       include_directories(${CMAKE_SOURCE_DIR}/libsessiond/include ${GTEST_INCLUDE_DIR})
+       target_link_libraries(test_${name} libsessiond_test gtest_main gtest ${wraps})
+       gtest_discover_tests(test_${name})
+
+endfunction(add_libsd_mocked_test)
+
+add_libsd_mocked_test(h_lib  "")
diff --git a/libsessiond/test/test_h_lib.cpp b/libsessiond/test/test_h_lib.cpp
new file mode 100644 (file)
index 0000000..fea3b24
--- /dev/null
@@ -0,0 +1,10 @@
+#include<iostream>
+#include <gtest/gtest.h>
+
+#include "sessiond.h"
+
+// Test
+TEST(subsession_add_user_test, AddUserTest) {
+       int res = subsession_add_user(0, 0, NULL, NULL);
+       EXPECT_EQ(res,0);
+}
index 75b0fa5e340c47c7c1bf0b35b42e2a57c0a5228d..1a63101341fec7a020dbe5979593116ca7885d19 100644 (file)
@@ -1,5 +1,5 @@
 <manifest>
-    <request>
-        <domain name="_"/>
-    </request>
+   <request>
+     <domain name="_"/>
+   </request>
 </manifest>
index 9675f8f8b54faa809232a08bc7e9ad27d462ab41..e11568adda490935895e9f28549679b013aa0dee 100644 (file)
@@ -9,6 +9,7 @@ Source1:    %{name}.manifest
 BuildRequires: cmake
 BuildRequires: pkgconfig(capi-base-common)
 BuildRequires: pkgconfig(dlog)
+BuildRequires: pkgconfig(gtest)
 
 %description
 TODO
@@ -39,6 +40,7 @@ mkdir -p build
 pushd build
 %cmake .. -DVERSION=%{version} -DCMAKE_BUILD_TYPE=Release
 make %{?jobs:-j%jobs}
+make %{?jobs:-j%jobs} test
 popd
 cp %{SOURCE1} .
 
diff --git a/sessiond/test/CMakeLists.txt b/sessiond/test/CMakeLists.txt
new file mode 100644 (file)
index 0000000..891a137
--- /dev/null
@@ -0,0 +1,19 @@
+function(add_sd_mocked_test name wraps)
+
+       message("cmake sessiond test src dir ====> ${CMAKE_SOURCE_DIR}")
+       set(CMAKE_CXX_STANDARD 20)
+       add_executable(test_${name} test_${name}.cpp)
+       #uncomment this line when add functions/files to test
+
+       #add_library( sessiond_test STATIC ${CMAKE_SOURCE_DIR}/sessiond/src/files.c)
+
+       #uncomment this line when "include" directory for local includes exists
+       #include_directories(${CMAKE_SOURCE_DIR}/sessiond/include ${GTEST_INCLUDE_DIR})
+
+       #add additional libs here
+       target_link_libraries(test_${name}  gtest_main gtest  ${wraps})
+       gtest_discover_tests(test_${name})
+
+endfunction(add_sd_mocked_test)
+
+add_sd_mocked_test(one  "")
diff --git a/sessiond/test/test_one.cpp b/sessiond/test/test_one.cpp
new file mode 100644 (file)
index 0000000..d7a39db
--- /dev/null
@@ -0,0 +1,7 @@
+#include<iostream>
+#include <gtest/gtest.h>
+
+// this test will fail
+TEST(test_one, TestOne) {
+       EXPECT_EQ(0,1);
+}