Change unittest directory hierachy 61/262061/1
authorJunghyun Yeon <jungh.yeon@samsung.com>
Mon, 2 Aug 2021 06:29:56 +0000 (15:29 +0900)
committerJunghyun Yeon <jungh.yeon@samsung.com>
Mon, 2 Aug 2021 06:30:54 +0000 (15:30 +0900)
Add pkg_upgrade directory at unit_unitests directory to
add unit tests for another tools.

Change-Id: I0c6f4d98d30b9ce53721e684703e98fabb3ce482
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
40 files changed:
tests/unit_tests/CMakeLists.txt
tests/unit_tests/data/db/.pkgmgr_cert.db [deleted file]
tests/unit_tests/data/db/.pkgmgr_cert.db-journal [deleted file]
tests/unit_tests/data/db/.pkgmgr_parser.db [deleted file]
tests/unit_tests/data/db/.pkgmgr_parser.db-journal [deleted file]
tests/unit_tests/data/db_bck/.pkgmgr_cert.db [deleted file]
tests/unit_tests/data/db_bck/.pkgmgr_cert.db-journal [deleted file]
tests/unit_tests/data/db_bck/.pkgmgr_cert.db.bck [deleted file]
tests/unit_tests/data/db_bck/.pkgmgr_cert.db.bck-journal [deleted file]
tests/unit_tests/data/db_bck/.pkgmgr_parser.db [deleted file]
tests/unit_tests/data/db_bck/.pkgmgr_parser.db-journal [deleted file]
tests/unit_tests/data/db_bck/.pkgmgr_parser.db.bck [deleted file]
tests/unit_tests/data/db_bck/.pkgmgr_parser.db.bck-journal [deleted file]
tests/unit_tests/data/packages/org.tizen.alarm.xml [deleted file]
tests/unit_tests/data/packages/org.tizen.app-selector.xml [deleted file]
tests/unit_tests/data/packages/org.tizen.bluetooth.xml [deleted file]
tests/unit_tests/data/rw/list.txt [deleted file]
tests/unit_tests/pkg_upgrade/CMakeLists.txt [new file with mode: 0644]
tests/unit_tests/pkg_upgrade/data/db/.pkgmgr_cert.db [new file with mode: 0644]
tests/unit_tests/pkg_upgrade/data/db/.pkgmgr_cert.db-journal [new file with mode: 0644]
tests/unit_tests/pkg_upgrade/data/db/.pkgmgr_parser.db [new file with mode: 0644]
tests/unit_tests/pkg_upgrade/data/db/.pkgmgr_parser.db-journal [new file with mode: 0644]
tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_cert.db [new file with mode: 0644]
tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_cert.db-journal [new file with mode: 0644]
tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_cert.db.bck [new file with mode: 0644]
tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_cert.db.bck-journal [new file with mode: 0644]
tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_parser.db [new file with mode: 0644]
tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_parser.db-journal [new file with mode: 0644]
tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_parser.db.bck [new file with mode: 0644]
tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_parser.db.bck-journal [new file with mode: 0644]
tests/unit_tests/pkg_upgrade/data/packages/org.tizen.alarm.xml [new file with mode: 0644]
tests/unit_tests/pkg_upgrade/data/packages/org.tizen.app-selector.xml [new file with mode: 0644]
tests/unit_tests/pkg_upgrade/data/packages/org.tizen.bluetooth.xml [new file with mode: 0644]
tests/unit_tests/pkg_upgrade/data/rw/list.txt [new file with mode: 0644]
tests/unit_tests/pkg_upgrade/src/test_backend_invoker.cc [new file with mode: 0644]
tests/unit_tests/pkg_upgrade/src/test_main.cc [new file with mode: 0644]
tests/unit_tests/pkg_upgrade/src/test_pkg_upgrader.cc [new file with mode: 0644]
tests/unit_tests/src/test_backend_invoker.cc [deleted file]
tests/unit_tests/src/test_main.cc [deleted file]
tests/unit_tests/src/test_pkg_upgrader.cc [deleted file]

index 02d83491e485f9aa79d55f01f1426056c96b8505..caa6d7d06003403e388089c16ea3fff7a273cdc5 100644 (file)
@@ -1,46 +1 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
-PROJECT(pkgmgr-tool_unittests C CXX)
-
-INCLUDE(FindPkgConfig)
-PKG_CHECK_MODULES(pkgmgr-tool_unittests REQUIRED
-  dlog
-  gmock
-  pkgmgr-parser
-  pkgmgr-info
-  libtzplatform-config
-  libsmack
-  sqlite3
-)
-
-FOREACH(flag ${pkgmgr-tool_unittests_CFLAGS})
-    SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Werror -fPIE")
-
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -std=c++14")
-SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
-SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
-
-ADD_DEFINITIONS("-DDB_PATH=\"${DB_PATH}\"")
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../../src/pkg_upgrade/include)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/..)
-
-AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src SOURCES)
-AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/../../src/pkg_upgrade/src LIB_SOURCES)
-LIST(REMOVE_ITEM LIB_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../../src/pkg_upgrade/src/main.cc)
-AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/../mock MOCK_SOURCES)
-
-ADD_EXECUTABLE(${PROJECT_NAME}
-       ${SOURCES}
-       ${MOCK_SOURCES}
-       ${LIB_SOURCES}
-)
-
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${EXTRA_CFLAGS}")
-TARGET_LINK_LIBRARIES(${PROJECT_NAME}
-    ${pkgmgr-tool_unittests_LDFLAGS}
-)
-
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION /usr/bin/)
-INSTALL(DIRECTORY data/ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/${PROJECT_NAME}/data)
+ADD_SUBDIRECTORY(pkg_upgrade)
diff --git a/tests/unit_tests/data/db/.pkgmgr_cert.db b/tests/unit_tests/data/db/.pkgmgr_cert.db
deleted file mode 100644 (file)
index 86d5ef2..0000000
Binary files a/tests/unit_tests/data/db/.pkgmgr_cert.db and /dev/null differ
diff --git a/tests/unit_tests/data/db/.pkgmgr_cert.db-journal b/tests/unit_tests/data/db/.pkgmgr_cert.db-journal
deleted file mode 100644 (file)
index a79929d..0000000
Binary files a/tests/unit_tests/data/db/.pkgmgr_cert.db-journal and /dev/null differ
diff --git a/tests/unit_tests/data/db/.pkgmgr_parser.db b/tests/unit_tests/data/db/.pkgmgr_parser.db
deleted file mode 100644 (file)
index 95bb964..0000000
Binary files a/tests/unit_tests/data/db/.pkgmgr_parser.db and /dev/null differ
diff --git a/tests/unit_tests/data/db/.pkgmgr_parser.db-journal b/tests/unit_tests/data/db/.pkgmgr_parser.db-journal
deleted file mode 100644 (file)
index b20e4d3..0000000
Binary files a/tests/unit_tests/data/db/.pkgmgr_parser.db-journal and /dev/null differ
diff --git a/tests/unit_tests/data/db_bck/.pkgmgr_cert.db b/tests/unit_tests/data/db_bck/.pkgmgr_cert.db
deleted file mode 100644 (file)
index 86d5ef2..0000000
Binary files a/tests/unit_tests/data/db_bck/.pkgmgr_cert.db and /dev/null differ
diff --git a/tests/unit_tests/data/db_bck/.pkgmgr_cert.db-journal b/tests/unit_tests/data/db_bck/.pkgmgr_cert.db-journal
deleted file mode 100644 (file)
index a79929d..0000000
Binary files a/tests/unit_tests/data/db_bck/.pkgmgr_cert.db-journal and /dev/null differ
diff --git a/tests/unit_tests/data/db_bck/.pkgmgr_cert.db.bck b/tests/unit_tests/data/db_bck/.pkgmgr_cert.db.bck
deleted file mode 100644 (file)
index 86d5ef2..0000000
Binary files a/tests/unit_tests/data/db_bck/.pkgmgr_cert.db.bck and /dev/null differ
diff --git a/tests/unit_tests/data/db_bck/.pkgmgr_cert.db.bck-journal b/tests/unit_tests/data/db_bck/.pkgmgr_cert.db.bck-journal
deleted file mode 100644 (file)
index a79929d..0000000
Binary files a/tests/unit_tests/data/db_bck/.pkgmgr_cert.db.bck-journal and /dev/null differ
diff --git a/tests/unit_tests/data/db_bck/.pkgmgr_parser.db b/tests/unit_tests/data/db_bck/.pkgmgr_parser.db
deleted file mode 100644 (file)
index 95bb964..0000000
Binary files a/tests/unit_tests/data/db_bck/.pkgmgr_parser.db and /dev/null differ
diff --git a/tests/unit_tests/data/db_bck/.pkgmgr_parser.db-journal b/tests/unit_tests/data/db_bck/.pkgmgr_parser.db-journal
deleted file mode 100644 (file)
index b20e4d3..0000000
Binary files a/tests/unit_tests/data/db_bck/.pkgmgr_parser.db-journal and /dev/null differ
diff --git a/tests/unit_tests/data/db_bck/.pkgmgr_parser.db.bck b/tests/unit_tests/data/db_bck/.pkgmgr_parser.db.bck
deleted file mode 100644 (file)
index 95bb964..0000000
Binary files a/tests/unit_tests/data/db_bck/.pkgmgr_parser.db.bck and /dev/null differ
diff --git a/tests/unit_tests/data/db_bck/.pkgmgr_parser.db.bck-journal b/tests/unit_tests/data/db_bck/.pkgmgr_parser.db.bck-journal
deleted file mode 100644 (file)
index b20e4d3..0000000
Binary files a/tests/unit_tests/data/db_bck/.pkgmgr_parser.db.bck-journal and /dev/null differ
diff --git a/tests/unit_tests/data/packages/org.tizen.alarm.xml b/tests/unit_tests/data/packages/org.tizen.alarm.xml
deleted file mode 100644 (file)
index 39e4cad..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<manifest xmlns="http://tizen.org/ns/packages" api-version="4.0" package="org.tizen.alarm" version="2.0.0" type="tpk" readonly="true" preload="true" removable="false">
-    <profile name="wearable"/>
-    <ui-application appid="org.tizen.alarm" exec="/usr/apps/org.tizen.alarm/bin/alarm-app" hw-acceleration="on" multiple="false" nodisplay="false" taskmanage="true" type="capp">
-        <label>Alarm</label>
-        <label xml:lang="ar-ae">تنبيه</label>
-        <label xml:lang="az-az">Siqnal</label>
-        <label xml:lang="bg-bg">Аларма</label>
-        <label xml:lang="ca-es">Alarma</label>
-        <label xml:lang="cs-cz">Upozornění</label>
-        <label xml:lang="da-dk">Alarm</label>
-        <label xml:lang="de-de">Alarm</label>
-        <label xml:lang="el-gr">Ξυπνητήρι</label>
-        <label xml:lang="en-gb">Alarm</label>
-        <label xml:lang="en-ph">Alarm</label>
-        <label xml:lang="en-us">Alarm</label>
-        <label xml:lang="es-es">Alarma</label>
-        <label xml:lang="es-mx">Alarma</label>
-        <label xml:lang="et-ee">Märguanne</label>
-        <label xml:lang="eu-es">Alarma</label>
-        <label xml:lang="fi-fi">Hälytys</label>
-        <label xml:lang="fr-ca">Alarme</label>
-        <label xml:lang="fr-fr">Alarme</label>
-        <label xml:lang="ga-ie">Aláram</label>
-        <label xml:lang="gl-es">Alarma</label>
-        <label xml:lang="hr-hr">Alarm</label>
-        <label xml:lang="hu-hu">Jelzés</label>
-        <label xml:lang="hy-am">Տագնապ</label>
-        <label xml:lang="is-is">Vekjari</label>
-        <label xml:lang="it-it">Sveglia</label>
-        <label xml:lang="ja-jp">アラーム</label>
-        <label xml:lang="ka-ge">სიგნალი</label>
-        <label xml:lang="kk-kz">Оятар</label>
-        <label xml:lang="ko-kr">알람</label>
-        <label xml:lang="lt-lt">Signalas</label>
-        <label xml:lang="lv-lv">Signāls</label>
-        <label xml:lang="mk-mk">Аларм</label>
-        <label xml:lang="nb-no">Alarm</label>
-        <label xml:lang="nl-nl">Alarm</label>
-        <label xml:lang="pl-pl">Alarm</label>
-        <label xml:lang="pt-br">Alarme</label>
-        <label xml:lang="pt-pt">Alarme</label>
-        <label xml:lang="ro-ro">Alarmă</label>
-        <label xml:lang="ru-ru">Будильник</label>
-        <label xml:lang="sk-sk">Budík</label>
-        <label xml:lang="sl-si">Alarm</label>
-        <label xml:lang="sr-rs">Beleška</label>
-        <label xml:lang="sv-se">Alarm</label>
-        <label xml:lang="tr-tr">Alarm</label>
-        <label xml:lang="uk-ua">Будильник</label>
-        <label xml:lang="uz-uz">Uyg‘otgich</label>
-        <label xml:lang="zh-cn">闹钟</label>
-        <label xml:lang="zh-hk">鬧鐘</label>
-        <label xml:lang="zh-tw">鬧鐘</label>
-        <icon>org.tizen.alarm.png</icon>
-    </ui-application>
-    <ui-application appid="org.tizen.alarm.app-control" exec="/usr/apps/org.tizen.alarm/bin/alarm-app" hw-acceleration="on" multiple="true" nodisplay="true" taskmanage="false" type="capp">
-        <label>Alarm</label>
-        <label xml:lang="ar-ae">تنبيه</label>
-        <label xml:lang="az-az">Siqnal</label>
-        <label xml:lang="bg-bg">Аларма</label>
-        <label xml:lang="ca-es">Alarma</label>
-        <label xml:lang="cs-cz">Upozornění</label>
-        <label xml:lang="da-dk">Alarm</label>
-        <label xml:lang="de-de">Alarm</label>
-        <label xml:lang="el-gr">Ξυπνητήρι</label>
-        <label xml:lang="en-gb">Alarm</label>
-        <label xml:lang="en-ph">Alarm</label>
-        <label xml:lang="en-us">Alarm</label>
-        <label xml:lang="es-es">Alarma</label>
-        <label xml:lang="es-mx">Alarma</label>
-        <label xml:lang="et-ee">Märguanne</label>
-        <label xml:lang="eu-es">Alarma</label>
-        <label xml:lang="fi-fi">Hälytys</label>
-        <label xml:lang="fr-ca">Alarme</label>
-        <label xml:lang="fr-fr">Alarme</label>
-        <label xml:lang="ga-ie">Aláram</label>
-        <label xml:lang="gl-es">Alarma</label>
-        <label xml:lang="hr-hr">Alarm</label>
-        <label xml:lang="hu-hu">Jelzés</label>
-        <label xml:lang="hy-am">Տագնապ</label>
-        <label xml:lang="is-is">Vekjari</label>
-        <label xml:lang="it-it">Sveglia</label>
-        <label xml:lang="ja-jp">アラーム</label>
-        <label xml:lang="ka-ge">სიგნალი</label>
-        <label xml:lang="kk-kz">Оятар</label>
-        <label xml:lang="ko-kr">알람</label>
-        <label xml:lang="lt-lt">Signalas</label>
-        <label xml:lang="lv-lv">Signāls</label>
-        <label xml:lang="mk-mk">Аларм</label>
-        <label xml:lang="nb-no">Alarm</label>
-        <label xml:lang="nl-nl">Alarm</label>
-        <label xml:lang="pl-pl">Alarm</label>
-        <label xml:lang="pt-br">Alarme</label>
-        <label xml:lang="pt-pt">Alarme</label>
-        <label xml:lang="ro-ro">Alarmă</label>
-        <label xml:lang="ru-ru">Будильник</label>
-        <label xml:lang="sk-sk">Budík</label>
-        <label xml:lang="sl-si">Alarm</label>
-        <label xml:lang="sr-rs">Beleška</label>
-        <label xml:lang="sv-se">Alarm</label>
-        <label xml:lang="tr-tr">Alarm</label>
-        <label xml:lang="uk-ua">Будильник</label>
-        <label xml:lang="uz-uz">Uyg‘otgich</label>
-        <label xml:lang="zh-cn">闹钟</label>
-        <label xml:lang="zh-hk">鬧鐘</label>
-        <label xml:lang="zh-tw">鬧鐘</label>
-        <icon>org.tizen.alarm.png</icon>
-        <app-control>
-            <operation name="http://tizen.org/appcontrol/operation/add"/>
-            <mime name="application/vnd.tizen.alarm"/>
-        </app-control>
-        <app-control>
-            <operation name="http://tizen.org/appcontrol/operation/pick"/>
-            <mime name="application/vnd.tizen.alarm"/>
-        </app-control>
-        <app-control>
-            <operation name="http://tizen.org/appcontrol/operation/edit"/>
-            <mime name="application/vnd.tizen.alarm"/>
-        </app-control>
-    </ui-application>
-    <ui-application appid="org.tizen.alarm.alert" exec="/usr/apps/org.tizen.alarm/bin/alarm-app" hw-acceleration="on" multiple="false" nodisplay="true" taskmanage="false" type="capp">
-        <label>Alarm</label>
-        <label xml:lang="ar-ae">تنبيه</label>
-        <label xml:lang="az-az">Siqnal</label>
-        <label xml:lang="bg-bg">Аларма</label>
-        <label xml:lang="ca-es">Alarma</label>
-        <label xml:lang="cs-cz">Upozornění</label>
-        <label xml:lang="da-dk">Alarm</label>
-        <label xml:lang="de-de">Alarm</label>
-        <label xml:lang="el-gr">Ξυπνητήρι</label>
-        <label xml:lang="en-gb">Alarm</label>
-        <label xml:lang="en-ph">Alarm</label>
-        <label xml:lang="en-us">Alarm</label>
-        <label xml:lang="es-es">Alarma</label>
-        <label xml:lang="es-mx">Alarma</label>
-        <label xml:lang="et-ee">Märguanne</label>
-        <label xml:lang="eu-es">Alarma</label>
-        <label xml:lang="fi-fi">Hälytys</label>
-        <label xml:lang="fr-ca">Alarme</label>
-        <label xml:lang="fr-fr">Alarme</label>
-        <label xml:lang="ga-ie">Aláram</label>
-        <label xml:lang="gl-es">Alarma</label>
-        <label xml:lang="hr-hr">Alarm</label>
-        <label xml:lang="hu-hu">Jelzés</label>
-        <label xml:lang="hy-am">Տագնապ</label>
-        <label xml:lang="is-is">Vekjari</label>
-        <label xml:lang="it-it">Sveglia</label>
-        <label xml:lang="ja-jp">アラーム</label>
-        <label xml:lang="ka-ge">სიგნალი</label>
-        <label xml:lang="kk-kz">Оятар</label>
-        <label xml:lang="ko-kr">알람</label>
-        <label xml:lang="lt-lt">Signalas</label>
-        <label xml:lang="lv-lv">Signāls</label>
-        <label xml:lang="mk-mk">Аларм</label>
-        <label xml:lang="nb-no">Alarm</label>
-        <label xml:lang="nl-nl">Alarm</label>
-        <label xml:lang="pl-pl">Alarm</label>
-        <label xml:lang="pt-br">Alarme</label>
-        <label xml:lang="pt-pt">Alarme</label>
-        <label xml:lang="ro-ro">Alarmă</label>
-        <label xml:lang="ru-ru">Будильник</label>
-        <label xml:lang="sk-sk">Budík</label>
-        <label xml:lang="sl-si">Alarm</label>
-        <label xml:lang="sr-rs">Beleška</label>
-        <label xml:lang="sv-se">Alarm</label>
-        <label xml:lang="tr-tr">Alarm</label>
-        <label xml:lang="uk-ua">Будильник</label>
-        <label xml:lang="uz-uz">Uyg‘otgich</label>
-        <label xml:lang="zh-cn">闹钟</label>
-        <label xml:lang="zh-hk">鬧鐘</label>
-        <label xml:lang="zh-tw">鬧鐘</label>
-        <icon>org.tizen.alarm.png</icon>
-    </ui-application>
-    <privileges>
-        <privilege>http://tizen.org/privilege/haptic</privilege>
-        <privilege>http://tizen.org/privilege/datasharing</privilege>
-        <privilege>http://tizen.org/privilege/display</privilege>
-        <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
-        <privilege>http://tizen.org/privilege/alarm.get</privilege>
-        <privilege>http://tizen.org/privilege/alarm.set</privilege>
-    </privileges>
-    <service-application appid="org.tizen.alarm.svc" exec="/usr/apps/org.tizen.alarm/bin/alarm-svc" multiple="false" nodisplay="true" taskmanage="false" type="capp">
-        <label>Alarm Service</label>
-        <icon>org.tizen.alarm.png</icon>
-        <datacontrol access="ReadWrite" providerid="http://alarm.tizen.org/datacontrol/provider/alarm" type="Sql"/>
-    </service-application>
-    <widget-application appid="org.tizen.alarm.widget" exec="/usr/apps/org.tizen.alarm/bin/alarm-widget" main="true" update-period="0">
-        <label>Alarm</label>
-        <icon>org.tizen.alarm.png</icon>
-        <support-size preview="alarm_widget_preview.png">2x2</support-size>
-    </widget-application>
-</manifest>
diff --git a/tests/unit_tests/data/packages/org.tizen.app-selector.xml b/tests/unit_tests/data/packages/org.tizen.app-selector.xml
deleted file mode 100644 (file)
index 314cff5..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns="http://tizen.org/ns/packages" package="org.tizen.app-selector" version="0.1.9" api-version="3.0" install-location="internal-only" type="tpk" readonly="true" preload="true" removable="false">
-       <label>Application Selection Popup</label>
-       <description>Application Selection Popup</description>
-       <ui-application appid="org.tizen.app-selector" exec="/usr/apps/org.tizen.app-selector/bin/app-selector" nodisplay="true" multiple="false" type="capp" taskmanage="false" hw-acceleration="on" launch_mode="group">
-               <label>Application Selection Popup</label>
-       </ui-application>
-    <privileges>
-        <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
-       <privilege>http://tizen.org/privilege/mediastorage</privilege>
-       <privilege>http://tizen.org/privilege/externalstorage</privilege>
-    </privileges>
-</manifest>
diff --git a/tests/unit_tests/data/packages/org.tizen.bluetooth.xml b/tests/unit_tests/data/packages/org.tizen.bluetooth.xml
deleted file mode 100644 (file)
index b3f618e..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns="http://tizen.org/ns/packages" package="org.tizen.bluetooth" api-version="3.0" version="2.0.25" install-location="internal-only" type="rpm" preload="true" readonly="true" removable="false">
-       <label>iW bluetooth</label>
-       <author email="insung.cho@samsung.com" href="www.samsung.com">Insung Cho</author>
-       <description>W bluetooth</description>
-       <ui-application appid="org.tizen.bluetooth" exec="/usr/apps/org.tizen.bluetooth/bin/bluetooth" nodisplay="true" multiple="false" type="capp" taskmanage="false" launch_mode="group">
-               <icon/>
-               <label>Bluetooth application</label>
-               <label xml:lang="en-us">Bluetooth application</label>
-               <app-control>
-                       <operation name="http://tizen.org/appcontrol/operation/edit"/>
-                       <mime name="application/x-bluetooth-on-off"/>
-                       <mime name="application/x-bluetooth-visibility"/>
-               </app-control>
-       </ui-application>
-       <privileges>
-               <privilege>http://tizen.org/privilege/bluetooth</privilege>
-               <privilege>http://tizen.org/privilege/bluetooth.admin</privilege>
-       </privileges>
-</manifest>
diff --git a/tests/unit_tests/data/rw/list.txt b/tests/unit_tests/data/rw/list.txt
deleted file mode 100644 (file)
index eaba1da..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-"package=org.tizen.new_rw":"version=1.2.0":"type=tpk":"removable=false"
-"package=org.test.pkg2":"version=1.2.0":"type=wgt":"removable=true"
diff --git a/tests/unit_tests/pkg_upgrade/CMakeLists.txt b/tests/unit_tests/pkg_upgrade/CMakeLists.txt
new file mode 100644 (file)
index 0000000..935e117
--- /dev/null
@@ -0,0 +1,46 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
+PROJECT(pkgmgr-tool_unittests C CXX)
+
+INCLUDE(FindPkgConfig)
+PKG_CHECK_MODULES(pkgmgr-tool_unittests REQUIRED
+  dlog
+  gmock
+  pkgmgr-parser
+  pkgmgr-info
+  libtzplatform-config
+  libsmack
+  sqlite3
+)
+
+FOREACH(flag ${pkgmgr-tool_unittests_CFLAGS})
+    SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+ENDFOREACH(flag)
+SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Werror -fPIE")
+
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -std=c++14")
+SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
+SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
+
+ADD_DEFINITIONS("-DDB_PATH=\"${DB_PATH}\"")
+
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../../../src/pkg_upgrade/include)
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../../)
+
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src SOURCES)
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/../../../src/pkg_upgrade/src LIB_SOURCES)
+LIST(REMOVE_ITEM LIB_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/pkg_upgrade/src/main.cc)
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/../../mock MOCK_SOURCES)
+
+ADD_EXECUTABLE(${PROJECT_NAME}
+       ${SOURCES}
+       ${MOCK_SOURCES}
+       ${LIB_SOURCES}
+)
+
+SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${EXTRA_CFLAGS}")
+TARGET_LINK_LIBRARIES(${PROJECT_NAME}
+    ${pkgmgr-tool_unittests_LDFLAGS}
+)
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION /usr/bin/)
+INSTALL(DIRECTORY data/ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/${PROJECT_NAME}/data)
diff --git a/tests/unit_tests/pkg_upgrade/data/db/.pkgmgr_cert.db b/tests/unit_tests/pkg_upgrade/data/db/.pkgmgr_cert.db
new file mode 100644 (file)
index 0000000..86d5ef2
Binary files /dev/null and b/tests/unit_tests/pkg_upgrade/data/db/.pkgmgr_cert.db differ
diff --git a/tests/unit_tests/pkg_upgrade/data/db/.pkgmgr_cert.db-journal b/tests/unit_tests/pkg_upgrade/data/db/.pkgmgr_cert.db-journal
new file mode 100644 (file)
index 0000000..a79929d
Binary files /dev/null and b/tests/unit_tests/pkg_upgrade/data/db/.pkgmgr_cert.db-journal differ
diff --git a/tests/unit_tests/pkg_upgrade/data/db/.pkgmgr_parser.db b/tests/unit_tests/pkg_upgrade/data/db/.pkgmgr_parser.db
new file mode 100644 (file)
index 0000000..95bb964
Binary files /dev/null and b/tests/unit_tests/pkg_upgrade/data/db/.pkgmgr_parser.db differ
diff --git a/tests/unit_tests/pkg_upgrade/data/db/.pkgmgr_parser.db-journal b/tests/unit_tests/pkg_upgrade/data/db/.pkgmgr_parser.db-journal
new file mode 100644 (file)
index 0000000..b20e4d3
Binary files /dev/null and b/tests/unit_tests/pkg_upgrade/data/db/.pkgmgr_parser.db-journal differ
diff --git a/tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_cert.db b/tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_cert.db
new file mode 100644 (file)
index 0000000..86d5ef2
Binary files /dev/null and b/tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_cert.db differ
diff --git a/tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_cert.db-journal b/tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_cert.db-journal
new file mode 100644 (file)
index 0000000..a79929d
Binary files /dev/null and b/tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_cert.db-journal differ
diff --git a/tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_cert.db.bck b/tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_cert.db.bck
new file mode 100644 (file)
index 0000000..86d5ef2
Binary files /dev/null and b/tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_cert.db.bck differ
diff --git a/tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_cert.db.bck-journal b/tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_cert.db.bck-journal
new file mode 100644 (file)
index 0000000..a79929d
Binary files /dev/null and b/tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_cert.db.bck-journal differ
diff --git a/tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_parser.db b/tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_parser.db
new file mode 100644 (file)
index 0000000..95bb964
Binary files /dev/null and b/tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_parser.db differ
diff --git a/tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_parser.db-journal b/tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_parser.db-journal
new file mode 100644 (file)
index 0000000..b20e4d3
Binary files /dev/null and b/tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_parser.db-journal differ
diff --git a/tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_parser.db.bck b/tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_parser.db.bck
new file mode 100644 (file)
index 0000000..95bb964
Binary files /dev/null and b/tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_parser.db.bck differ
diff --git a/tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_parser.db.bck-journal b/tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_parser.db.bck-journal
new file mode 100644 (file)
index 0000000..b20e4d3
Binary files /dev/null and b/tests/unit_tests/pkg_upgrade/data/db_bck/.pkgmgr_parser.db.bck-journal differ
diff --git a/tests/unit_tests/pkg_upgrade/data/packages/org.tizen.alarm.xml b/tests/unit_tests/pkg_upgrade/data/packages/org.tizen.alarm.xml
new file mode 100644 (file)
index 0000000..39e4cad
--- /dev/null
@@ -0,0 +1,193 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="4.0" package="org.tizen.alarm" version="2.0.0" type="tpk" readonly="true" preload="true" removable="false">
+    <profile name="wearable"/>
+    <ui-application appid="org.tizen.alarm" exec="/usr/apps/org.tizen.alarm/bin/alarm-app" hw-acceleration="on" multiple="false" nodisplay="false" taskmanage="true" type="capp">
+        <label>Alarm</label>
+        <label xml:lang="ar-ae">تنبيه</label>
+        <label xml:lang="az-az">Siqnal</label>
+        <label xml:lang="bg-bg">Аларма</label>
+        <label xml:lang="ca-es">Alarma</label>
+        <label xml:lang="cs-cz">Upozornění</label>
+        <label xml:lang="da-dk">Alarm</label>
+        <label xml:lang="de-de">Alarm</label>
+        <label xml:lang="el-gr">Ξυπνητήρι</label>
+        <label xml:lang="en-gb">Alarm</label>
+        <label xml:lang="en-ph">Alarm</label>
+        <label xml:lang="en-us">Alarm</label>
+        <label xml:lang="es-es">Alarma</label>
+        <label xml:lang="es-mx">Alarma</label>
+        <label xml:lang="et-ee">Märguanne</label>
+        <label xml:lang="eu-es">Alarma</label>
+        <label xml:lang="fi-fi">Hälytys</label>
+        <label xml:lang="fr-ca">Alarme</label>
+        <label xml:lang="fr-fr">Alarme</label>
+        <label xml:lang="ga-ie">Aláram</label>
+        <label xml:lang="gl-es">Alarma</label>
+        <label xml:lang="hr-hr">Alarm</label>
+        <label xml:lang="hu-hu">Jelzés</label>
+        <label xml:lang="hy-am">Տագնապ</label>
+        <label xml:lang="is-is">Vekjari</label>
+        <label xml:lang="it-it">Sveglia</label>
+        <label xml:lang="ja-jp">アラーム</label>
+        <label xml:lang="ka-ge">სიგნალი</label>
+        <label xml:lang="kk-kz">Оятар</label>
+        <label xml:lang="ko-kr">알람</label>
+        <label xml:lang="lt-lt">Signalas</label>
+        <label xml:lang="lv-lv">Signāls</label>
+        <label xml:lang="mk-mk">Аларм</label>
+        <label xml:lang="nb-no">Alarm</label>
+        <label xml:lang="nl-nl">Alarm</label>
+        <label xml:lang="pl-pl">Alarm</label>
+        <label xml:lang="pt-br">Alarme</label>
+        <label xml:lang="pt-pt">Alarme</label>
+        <label xml:lang="ro-ro">Alarmă</label>
+        <label xml:lang="ru-ru">Будильник</label>
+        <label xml:lang="sk-sk">Budík</label>
+        <label xml:lang="sl-si">Alarm</label>
+        <label xml:lang="sr-rs">Beleška</label>
+        <label xml:lang="sv-se">Alarm</label>
+        <label xml:lang="tr-tr">Alarm</label>
+        <label xml:lang="uk-ua">Будильник</label>
+        <label xml:lang="uz-uz">Uyg‘otgich</label>
+        <label xml:lang="zh-cn">闹钟</label>
+        <label xml:lang="zh-hk">鬧鐘</label>
+        <label xml:lang="zh-tw">鬧鐘</label>
+        <icon>org.tizen.alarm.png</icon>
+    </ui-application>
+    <ui-application appid="org.tizen.alarm.app-control" exec="/usr/apps/org.tizen.alarm/bin/alarm-app" hw-acceleration="on" multiple="true" nodisplay="true" taskmanage="false" type="capp">
+        <label>Alarm</label>
+        <label xml:lang="ar-ae">تنبيه</label>
+        <label xml:lang="az-az">Siqnal</label>
+        <label xml:lang="bg-bg">Аларма</label>
+        <label xml:lang="ca-es">Alarma</label>
+        <label xml:lang="cs-cz">Upozornění</label>
+        <label xml:lang="da-dk">Alarm</label>
+        <label xml:lang="de-de">Alarm</label>
+        <label xml:lang="el-gr">Ξυπνητήρι</label>
+        <label xml:lang="en-gb">Alarm</label>
+        <label xml:lang="en-ph">Alarm</label>
+        <label xml:lang="en-us">Alarm</label>
+        <label xml:lang="es-es">Alarma</label>
+        <label xml:lang="es-mx">Alarma</label>
+        <label xml:lang="et-ee">Märguanne</label>
+        <label xml:lang="eu-es">Alarma</label>
+        <label xml:lang="fi-fi">Hälytys</label>
+        <label xml:lang="fr-ca">Alarme</label>
+        <label xml:lang="fr-fr">Alarme</label>
+        <label xml:lang="ga-ie">Aláram</label>
+        <label xml:lang="gl-es">Alarma</label>
+        <label xml:lang="hr-hr">Alarm</label>
+        <label xml:lang="hu-hu">Jelzés</label>
+        <label xml:lang="hy-am">Տագնապ</label>
+        <label xml:lang="is-is">Vekjari</label>
+        <label xml:lang="it-it">Sveglia</label>
+        <label xml:lang="ja-jp">アラーム</label>
+        <label xml:lang="ka-ge">სიგნალი</label>
+        <label xml:lang="kk-kz">Оятар</label>
+        <label xml:lang="ko-kr">알람</label>
+        <label xml:lang="lt-lt">Signalas</label>
+        <label xml:lang="lv-lv">Signāls</label>
+        <label xml:lang="mk-mk">Аларм</label>
+        <label xml:lang="nb-no">Alarm</label>
+        <label xml:lang="nl-nl">Alarm</label>
+        <label xml:lang="pl-pl">Alarm</label>
+        <label xml:lang="pt-br">Alarme</label>
+        <label xml:lang="pt-pt">Alarme</label>
+        <label xml:lang="ro-ro">Alarmă</label>
+        <label xml:lang="ru-ru">Будильник</label>
+        <label xml:lang="sk-sk">Budík</label>
+        <label xml:lang="sl-si">Alarm</label>
+        <label xml:lang="sr-rs">Beleška</label>
+        <label xml:lang="sv-se">Alarm</label>
+        <label xml:lang="tr-tr">Alarm</label>
+        <label xml:lang="uk-ua">Будильник</label>
+        <label xml:lang="uz-uz">Uyg‘otgich</label>
+        <label xml:lang="zh-cn">闹钟</label>
+        <label xml:lang="zh-hk">鬧鐘</label>
+        <label xml:lang="zh-tw">鬧鐘</label>
+        <icon>org.tizen.alarm.png</icon>
+        <app-control>
+            <operation name="http://tizen.org/appcontrol/operation/add"/>
+            <mime name="application/vnd.tizen.alarm"/>
+        </app-control>
+        <app-control>
+            <operation name="http://tizen.org/appcontrol/operation/pick"/>
+            <mime name="application/vnd.tizen.alarm"/>
+        </app-control>
+        <app-control>
+            <operation name="http://tizen.org/appcontrol/operation/edit"/>
+            <mime name="application/vnd.tizen.alarm"/>
+        </app-control>
+    </ui-application>
+    <ui-application appid="org.tizen.alarm.alert" exec="/usr/apps/org.tizen.alarm/bin/alarm-app" hw-acceleration="on" multiple="false" nodisplay="true" taskmanage="false" type="capp">
+        <label>Alarm</label>
+        <label xml:lang="ar-ae">تنبيه</label>
+        <label xml:lang="az-az">Siqnal</label>
+        <label xml:lang="bg-bg">Аларма</label>
+        <label xml:lang="ca-es">Alarma</label>
+        <label xml:lang="cs-cz">Upozornění</label>
+        <label xml:lang="da-dk">Alarm</label>
+        <label xml:lang="de-de">Alarm</label>
+        <label xml:lang="el-gr">Ξυπνητήρι</label>
+        <label xml:lang="en-gb">Alarm</label>
+        <label xml:lang="en-ph">Alarm</label>
+        <label xml:lang="en-us">Alarm</label>
+        <label xml:lang="es-es">Alarma</label>
+        <label xml:lang="es-mx">Alarma</label>
+        <label xml:lang="et-ee">Märguanne</label>
+        <label xml:lang="eu-es">Alarma</label>
+        <label xml:lang="fi-fi">Hälytys</label>
+        <label xml:lang="fr-ca">Alarme</label>
+        <label xml:lang="fr-fr">Alarme</label>
+        <label xml:lang="ga-ie">Aláram</label>
+        <label xml:lang="gl-es">Alarma</label>
+        <label xml:lang="hr-hr">Alarm</label>
+        <label xml:lang="hu-hu">Jelzés</label>
+        <label xml:lang="hy-am">Տագնապ</label>
+        <label xml:lang="is-is">Vekjari</label>
+        <label xml:lang="it-it">Sveglia</label>
+        <label xml:lang="ja-jp">アラーム</label>
+        <label xml:lang="ka-ge">სიგნალი</label>
+        <label xml:lang="kk-kz">Оятар</label>
+        <label xml:lang="ko-kr">알람</label>
+        <label xml:lang="lt-lt">Signalas</label>
+        <label xml:lang="lv-lv">Signāls</label>
+        <label xml:lang="mk-mk">Аларм</label>
+        <label xml:lang="nb-no">Alarm</label>
+        <label xml:lang="nl-nl">Alarm</label>
+        <label xml:lang="pl-pl">Alarm</label>
+        <label xml:lang="pt-br">Alarme</label>
+        <label xml:lang="pt-pt">Alarme</label>
+        <label xml:lang="ro-ro">Alarmă</label>
+        <label xml:lang="ru-ru">Будильник</label>
+        <label xml:lang="sk-sk">Budík</label>
+        <label xml:lang="sl-si">Alarm</label>
+        <label xml:lang="sr-rs">Beleška</label>
+        <label xml:lang="sv-se">Alarm</label>
+        <label xml:lang="tr-tr">Alarm</label>
+        <label xml:lang="uk-ua">Будильник</label>
+        <label xml:lang="uz-uz">Uyg‘otgich</label>
+        <label xml:lang="zh-cn">闹钟</label>
+        <label xml:lang="zh-hk">鬧鐘</label>
+        <label xml:lang="zh-tw">鬧鐘</label>
+        <icon>org.tizen.alarm.png</icon>
+    </ui-application>
+    <privileges>
+        <privilege>http://tizen.org/privilege/haptic</privilege>
+        <privilege>http://tizen.org/privilege/datasharing</privilege>
+        <privilege>http://tizen.org/privilege/display</privilege>
+        <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
+        <privilege>http://tizen.org/privilege/alarm.get</privilege>
+        <privilege>http://tizen.org/privilege/alarm.set</privilege>
+    </privileges>
+    <service-application appid="org.tizen.alarm.svc" exec="/usr/apps/org.tizen.alarm/bin/alarm-svc" multiple="false" nodisplay="true" taskmanage="false" type="capp">
+        <label>Alarm Service</label>
+        <icon>org.tizen.alarm.png</icon>
+        <datacontrol access="ReadWrite" providerid="http://alarm.tizen.org/datacontrol/provider/alarm" type="Sql"/>
+    </service-application>
+    <widget-application appid="org.tizen.alarm.widget" exec="/usr/apps/org.tizen.alarm/bin/alarm-widget" main="true" update-period="0">
+        <label>Alarm</label>
+        <icon>org.tizen.alarm.png</icon>
+        <support-size preview="alarm_widget_preview.png">2x2</support-size>
+    </widget-application>
+</manifest>
diff --git a/tests/unit_tests/pkg_upgrade/data/packages/org.tizen.app-selector.xml b/tests/unit_tests/pkg_upgrade/data/packages/org.tizen.app-selector.xml
new file mode 100644 (file)
index 0000000..314cff5
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns="http://tizen.org/ns/packages" package="org.tizen.app-selector" version="0.1.9" api-version="3.0" install-location="internal-only" type="tpk" readonly="true" preload="true" removable="false">
+       <label>Application Selection Popup</label>
+       <description>Application Selection Popup</description>
+       <ui-application appid="org.tizen.app-selector" exec="/usr/apps/org.tizen.app-selector/bin/app-selector" nodisplay="true" multiple="false" type="capp" taskmanage="false" hw-acceleration="on" launch_mode="group">
+               <label>Application Selection Popup</label>
+       </ui-application>
+    <privileges>
+        <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
+       <privilege>http://tizen.org/privilege/mediastorage</privilege>
+       <privilege>http://tizen.org/privilege/externalstorage</privilege>
+    </privileges>
+</manifest>
diff --git a/tests/unit_tests/pkg_upgrade/data/packages/org.tizen.bluetooth.xml b/tests/unit_tests/pkg_upgrade/data/packages/org.tizen.bluetooth.xml
new file mode 100644 (file)
index 0000000..b3f618e
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns="http://tizen.org/ns/packages" package="org.tizen.bluetooth" api-version="3.0" version="2.0.25" install-location="internal-only" type="rpm" preload="true" readonly="true" removable="false">
+       <label>iW bluetooth</label>
+       <author email="insung.cho@samsung.com" href="www.samsung.com">Insung Cho</author>
+       <description>W bluetooth</description>
+       <ui-application appid="org.tizen.bluetooth" exec="/usr/apps/org.tizen.bluetooth/bin/bluetooth" nodisplay="true" multiple="false" type="capp" taskmanage="false" launch_mode="group">
+               <icon/>
+               <label>Bluetooth application</label>
+               <label xml:lang="en-us">Bluetooth application</label>
+               <app-control>
+                       <operation name="http://tizen.org/appcontrol/operation/edit"/>
+                       <mime name="application/x-bluetooth-on-off"/>
+                       <mime name="application/x-bluetooth-visibility"/>
+               </app-control>
+       </ui-application>
+       <privileges>
+               <privilege>http://tizen.org/privilege/bluetooth</privilege>
+               <privilege>http://tizen.org/privilege/bluetooth.admin</privilege>
+       </privileges>
+</manifest>
diff --git a/tests/unit_tests/pkg_upgrade/data/rw/list.txt b/tests/unit_tests/pkg_upgrade/data/rw/list.txt
new file mode 100644 (file)
index 0000000..eaba1da
--- /dev/null
@@ -0,0 +1,2 @@
+"package=org.tizen.new_rw":"version=1.2.0":"type=tpk":"removable=false"
+"package=org.test.pkg2":"version=1.2.0":"type=wgt":"removable=true"
diff --git a/tests/unit_tests/pkg_upgrade/src/test_backend_invoker.cc b/tests/unit_tests/pkg_upgrade/src/test_backend_invoker.cc
new file mode 100644 (file)
index 0000000..9dcf535
--- /dev/null
@@ -0,0 +1,191 @@
+/*
+ * Copyright (c) 2021 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <stdlib.h>
+#include <gtest/gtest.h>
+#include <stdio.h>
+
+#include <list>
+#include <memory>
+
+#include "backend_invoker.hh"
+#include "mock/test_fixture.h"
+
+using namespace common_fota;
+
+class BackendInvokerTest : public ::testing::Test {
+ protected:
+  void SetUp() override {}
+  void TearDown() override {}
+};
+
+bool CompareArgumentList(std::list<std::string> l_arglist,
+    std::list<std::string> r_arglist) {
+  if (l_arglist.size() != r_arglist.size() ||
+      l_arglist.size() == 0 || r_arglist.size() == 0)
+    return false;
+
+  for (auto arg : l_arglist) {
+    if (!(std::find(r_arglist.begin(), r_arglist.end(), arg) !=
+        r_arglist.end()))
+      return false;
+  }
+
+  return true;
+}
+
+TEST_F(BackendInvokerTest, TPKPreloadRWUpdateRemovable) {
+  BackendInvoker update_backend("tpk_pkgid", PkgType::TPK,
+      PkgLocation::RW, PkgOperation::UPDATE, true);
+
+  std::list<std::string> expected_argument { "/usr/bin/tpk-backend", "-y",
+      "tpk_pkgid", "--preload-rw", "--skip-check-reference"};
+
+  EXPECT_TRUE(CompareArgumentList(update_backend.GetParameter(),
+      expected_argument));
+
+  BackendInvoker install_backend("tpk_pkgid", PkgType::TPK,
+      PkgLocation::RW, PkgOperation::INSTALL, true);
+  EXPECT_TRUE(CompareArgumentList(install_backend.GetParameter(),
+      expected_argument));
+}
+
+TEST_F(BackendInvokerTest, WGTPreloadRWUpdateRemovable) {
+  BackendInvoker update_backend("wgt_pkgid", PkgType::WGT,
+      PkgLocation::RW, PkgOperation::UPDATE, true);
+
+  std::list<std::string> expected_argument { "/usr/bin/wgt-backend", "-y",
+      "wgt_pkgid", "--preload-rw", "--skip-check-reference"};
+
+  EXPECT_TRUE(CompareArgumentList(update_backend.GetParameter(),
+      expected_argument));
+
+  BackendInvoker install_backend("wgt_pkgid", PkgType::WGT,
+      PkgLocation::RW, PkgOperation::INSTALL, true);
+  EXPECT_TRUE(CompareArgumentList(install_backend.GetParameter(),
+      expected_argument));
+}
+
+TEST_F(BackendInvokerTest, TPKPreloadROUpdate) {
+  BackendInvoker update_backend("tpk_pkgid", PkgType::TPK,
+      PkgLocation::RO, PkgOperation::UPDATE, false);
+
+  std::list<std::string> expected_argument { "/usr/bin/tpk-backend", "-y",
+      "tpk_pkgid", "--preload", "--partial-rw", "--skip-check-reference"};
+
+  EXPECT_TRUE(CompareArgumentList(update_backend.GetParameter(),
+      expected_argument));
+
+  BackendInvoker install_backend("tpk_pkgid", PkgType::TPK,
+      PkgLocation::RO, PkgOperation::INSTALL, false);
+  EXPECT_TRUE(CompareArgumentList(install_backend.GetParameter(),
+      expected_argument));
+}
+
+TEST_F(BackendInvokerTest, WGTPreloadROUpdate) {
+  BackendInvoker update_backend("wgt_pkgid", PkgType::WGT,
+      PkgLocation::RO, PkgOperation::UPDATE, false);
+
+  std::list<std::string> expected_argument { "/usr/bin/wgt-backend", "-y",
+      "wgt_pkgid", "--preload", "--partial-rw", "--skip-check-reference"};
+  EXPECT_TRUE(CompareArgumentList(update_backend.GetParameter(),
+      expected_argument));
+
+  BackendInvoker install_backend("wgt_pkgid", PkgType::WGT,
+      PkgLocation::RO, PkgOperation::INSTALL, false);
+  EXPECT_TRUE(CompareArgumentList(install_backend.GetParameter(),
+      expected_argument));
+}
+
+TEST_F(BackendInvokerTest, TPKPreloadROUninstall) {
+  BackendInvoker backend("tpk_pkgid", PkgType::TPK,
+      PkgLocation::RO, PkgOperation::UNINSTALL, false);
+
+  std::list<std::string> expected_argument { "/usr/bin/tpk-backend", "-d",
+      "tpk_pkgid", "--preload", "--force-remove", "--partial-rw"};
+  EXPECT_TRUE(CompareArgumentList(backend.GetParameter(),
+      expected_argument));
+}
+
+TEST_F(BackendInvokerTest, WGTPreloadROUninstall) {
+  BackendInvoker backend("wgt_pkgid", PkgType::WGT,
+      PkgLocation::RO, PkgOperation::UNINSTALL, false);
+
+  std::list<std::string> expected_argument { "/usr/bin/wgt-backend", "-d",
+      "wgt_pkgid", "--preload", "--force-remove", "--partial-rw"};
+  EXPECT_TRUE(CompareArgumentList(backend.GetParameter(),
+      expected_argument));
+}
+
+TEST_F(BackendInvokerTest, TPKRWUninstall) {
+  BackendInvoker backend("tpk_pkgid", PkgType::TPK,
+      PkgLocation::RW, PkgOperation::UNINSTALL, false);
+
+  std::list<std::string> expected_argument { "/usr/bin/tpk-backend", "-d",
+      "tpk_pkgid", "--force-remove", "--partial-rw"};
+  EXPECT_TRUE(CompareArgumentList(backend.GetParameter(),
+      expected_argument));
+}
+
+TEST_F(BackendInvokerTest, WGTRWUninstall) {
+  BackendInvoker backend("wgt_pkgid", PkgType::WGT,
+      PkgLocation::RW, PkgOperation::UNINSTALL, false);
+
+  std::list<std::string> expected_argument { "/usr/bin/wgt-backend", "-d",
+      "wgt_pkgid", "--force-remove", "--partial-rw"};
+  EXPECT_TRUE(CompareArgumentList(backend.GetParameter(),
+      expected_argument));
+}
+
+TEST_F(BackendInvokerTest, TPKPreloadROUninstallKeepRWData) {
+  BackendInvoker backend("tpk_pkgid", PkgType::TPK,
+      PkgLocation::RO, PkgOperation::UNINSTALL_KEEP_RW_DATA, false);
+
+  std::list<std::string> expected_argument { "/usr/bin/tpk-backend", "-d",
+      "tpk_pkgid", "--preload", "--force-remove", "--keep-rwdata"};
+  EXPECT_TRUE(CompareArgumentList(backend.GetParameter(),
+      expected_argument));
+}
+
+TEST_F(BackendInvokerTest, WGTPreloadROUninstallKeepRWData) {
+  BackendInvoker backend("wgt_pkgid", PkgType::WGT,
+      PkgLocation::RO, PkgOperation::UNINSTALL_KEEP_RW_DATA, false);
+
+  std::list<std::string> expected_argument { "/usr/bin/wgt-backend", "-d",
+      "wgt_pkgid", "--preload", "--force-remove", "--keep-rwdata"};
+  EXPECT_TRUE(CompareArgumentList(backend.GetParameter(),
+      expected_argument));
+}
+
+TEST_F(BackendInvokerTest, TPKRWUninstallKeepRWData) {
+  BackendInvoker backend("tpk_pkgid", PkgType::TPK,
+      PkgLocation::RW, PkgOperation::UNINSTALL_KEEP_RW_DATA, false);
+
+  std::list<std::string> expected_argument { "/usr/bin/tpk-backend", "-d",
+      "tpk_pkgid", "--force-remove", "--keep-rwdata"};
+  EXPECT_TRUE(CompareArgumentList(backend.GetParameter(),
+      expected_argument));
+}
+
+TEST_F(BackendInvokerTest, WGTRWUninstallKeepRWData) {
+  BackendInvoker backend("wgt_pkgid", PkgType::WGT,
+      PkgLocation::RW, PkgOperation::UNINSTALL_KEEP_RW_DATA, false);
+
+  std::list<std::string> expected_argument { "/usr/bin/wgt-backend", "-d",
+      "wgt_pkgid", "--force-remove", "--keep-rwdata"};
+  EXPECT_TRUE(CompareArgumentList(backend.GetParameter(),
+      expected_argument));
+}
diff --git a/tests/unit_tests/pkg_upgrade/src/test_main.cc b/tests/unit_tests/pkg_upgrade/src/test_main.cc
new file mode 100644 (file)
index 0000000..5a9f91d
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <gtest/gtest.h>
+#include <gmock/gmock.h>
+
+int main(int argc, char** argv) {
+  int ret = -1;
+
+  try {
+    testing::InitGoogleTest(&argc, argv);
+  } catch(...) {
+    std::cout << "Exception occurred" << std::endl;
+  }
+
+  try {
+    ret = RUN_ALL_TESTS();
+  } catch (const ::testing::internal::GoogleTestFailureException& e) {
+    ret = -1;
+    std::cout << "GoogleTestFailureException was thrown:"
+              << e.what() << std::endl;
+  }
+
+  return ret;
+}
diff --git a/tests/unit_tests/pkg_upgrade/src/test_pkg_upgrader.cc b/tests/unit_tests/pkg_upgrade/src/test_pkg_upgrader.cc
new file mode 100644 (file)
index 0000000..5262384
--- /dev/null
@@ -0,0 +1,230 @@
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <stdlib.h>
+#include <gtest/gtest.h>
+#include <stdio.h>
+
+#include <memory>
+
+#include "mock/os_mock.h"
+#include "mock/pkgmgr_info_mock.h"
+#include "mock/test_fixture.h"
+#include "pkg_finder.hh"
+#include "pkg_upgrader_factory.hh"
+#include "upgrader.hh"
+
+using ::testing::_;
+using ::testing::DoAll;
+using ::testing::Invoke;
+using ::testing::Return;
+using ::testing::SetArgPointee;
+using ::testing::InvokeArgument;
+using ::testing::SaveArg;
+
+using common_fota::PkgFinder;
+using common_fota::PkgUpgraderFactory;
+using common_fota::Upgrader;
+
+class Mocks : public ::testing::NiceMock<PkgMgrInfoMock>,
+    public ::testing::NiceMock<OsMock> {};
+
+class PkgFinderTest : public TestFixture {
+ public:
+  PkgFinderTest() : TestFixture(std::make_unique<Mocks>()) {}
+  virtual ~PkgFinderTest() {}
+
+  virtual void SetUp() {
+    static int k;
+    pkgmgrinfo_pkginfo_filter_h dummy_filter = (pkgmgrinfo_pkginfo_filter_h)&k;
+
+    EXPECT_CALL(GetMock<PkgMgrInfoMock>(), pkgmgrinfo_pkginfo_filter_create(_))
+        .WillRepeatedly(DoAll(SetArgPointee<0>(dummy_filter), Return(0)));
+    EXPECT_CALL(GetMock<PkgMgrInfoMock>(),
+        pkgmgrinfo_pkginfo_filter_add_bool(_, _, _))
+        .WillRepeatedly(Return(0));
+
+    EXPECT_CALL(GetMock<PkgMgrInfoMock>(),
+        pkgmgrinfo_pkginfo_filter_foreach_pkginfo(_, _, _))
+        .WillOnce(
+            Invoke([](pkgmgrinfo_pkginfo_filter_h handle,
+                pkgmgrinfo_pkg_list_cb pkg_cb, void *user_data) -> int {
+              pkg_cb(nullptr, user_data);
+              pkg_cb(nullptr, user_data);
+              pkg_cb(nullptr, user_data);
+              return 0;
+            })
+        )
+        .WillOnce(Invoke([](pkgmgrinfo_pkginfo_filter_h handle,
+                pkgmgrinfo_pkg_list_cb pkg_cb, void *user_data) -> int {
+              pkg_cb(nullptr, user_data);
+              return 0;
+            }));
+
+    const char* old_ro_pkgid[] = {
+      "org.test.pkg1",
+      "org.test.pkg2",
+      "org.tizen.app-selector"
+    };
+
+    const char* old_ro_pkg_type[] = {
+      "tpk",
+      "wgt",
+      "tpk"
+    };
+
+    const char* old_ro_pkg_version[] = {
+      "1.0.0",
+      "1.2.0",
+      "0.1.0"
+    };
+
+    const char* old_rw_pkgid[] = {
+      "org.tizen.alarm"
+    };
+
+    const char* old_rw_pkg_type[] = {
+      "tpk"
+    };
+
+    const char* old_rw_pkg_version[] = {
+      "1.5.0",
+    };
+
+    EXPECT_CALL(GetMock<PkgMgrInfoMock>(),
+        pkgmgrinfo_pkginfo_get_pkgid(_, _))
+        .WillOnce(DoAll(SetArgPointee<1>(
+            const_cast<char*>(old_ro_pkgid[0])), Return(0)))
+        .WillOnce(DoAll(SetArgPointee<1>(
+            const_cast<char*>(old_ro_pkgid[1])), Return(0)))
+        .WillOnce(DoAll(SetArgPointee<1>(
+            const_cast<char*>(old_ro_pkgid[2])), Return(0)))
+        .WillOnce(DoAll(SetArgPointee<1>(
+            const_cast<char*>(old_rw_pkgid[0])), Return(0)));
+    EXPECT_CALL(GetMock<PkgMgrInfoMock>(),
+        pkgmgrinfo_pkginfo_get_type(_, _))
+        .WillOnce(DoAll(SetArgPointee<1>(
+            const_cast<char*>(old_ro_pkg_type[0])), Return(0)))
+        .WillOnce(DoAll(SetArgPointee<1>(
+            const_cast<char*>(old_ro_pkg_type[1])), Return(0)))
+        .WillOnce(DoAll(SetArgPointee<1>(
+            const_cast<char*>(old_ro_pkg_type[2])), Return(0)))
+        .WillOnce(DoAll(SetArgPointee<1>(
+            const_cast<char*>(old_rw_pkg_type[0])), Return(0)));
+    EXPECT_CALL(GetMock<PkgMgrInfoMock>(),
+        pkgmgrinfo_pkginfo_get_version(_, _))
+        .WillOnce(DoAll(SetArgPointee<1>(
+            const_cast<char*>(old_ro_pkg_version[0])), Return(0)))
+        .WillOnce(DoAll(SetArgPointee<1>(
+            const_cast<char*>(old_ro_pkg_version[1])), Return(0)))
+        .WillOnce(DoAll(SetArgPointee<1>(
+            const_cast<char*>(old_ro_pkg_version[2])), Return(0)))
+        .WillOnce(DoAll(SetArgPointee<1>(
+            const_cast<char*>(old_rw_pkg_version[0])), Return(0)));
+
+    EXPECT_CALL(GetMock<PkgMgrInfoMock>(), pkgmgrinfo_pkginfo_filter_destroy(_))
+        .WillRepeatedly(Return(0));
+
+    finder_.SetManifestDir("./tests/unit_tests/pkg_upgrade/data/packages/");
+    finder_.SetPreloadRwListPath("./tests/unit_tests/pkg_upgrade/data/rw/list.txt");
+  }
+
+  virtual void TearDown() {
+  }
+
+  PkgFinder finder_;
+};
+
+TEST_F(PkgFinderTest, PkgFinder) {
+  finder_.Find();
+
+  EXPECT_EQ(finder_.GetOldPkgs().size(), 4);
+  EXPECT_EQ(finder_.GetNewPkgs().size(), 5);
+}
+
+TEST_F(PkgFinderTest, PkgUpgraderFactory) {
+  PkgUpgraderFactory factory;
+  auto list = factory.MakeList(&finder_);
+
+  EXPECT_EQ(list.size(), 6);
+}
+
+class PkgUpgraderTest : public PkgFinderTest {
+ public:
+  PkgUpgraderTest() {}
+  virtual ~PkgUpgraderTest() {}
+
+  void SetUp() override {
+    PkgFinderTest::SetUp();
+    EXPECT_CALL(GetMock<OsMock>(), fork())
+        .WillRepeatedly(Return(1));
+    EXPECT_CALL(GetMock<OsMock>(), waitpid(_, _, _))
+          .WillRepeatedly(DoAll(SetArgPointee<1>(0), Return(1)));
+    EXPECT_CALL(GetMock<OsMock>(), fchown(_, _, _))
+          .WillRepeatedly(Return(0));
+    EXPECT_CALL(GetMock<OsMock>(), fchmod(_, _))
+          .WillRepeatedly(Return(0));
+    EXPECT_CALL(GetMock<OsMock>(), smack_setlabel(_, _, _))
+          .WillRepeatedly(Return(0));
+  }
+
+  void TearDown() override {
+    PkgFinderTest::TearDown();
+  }
+};
+
+TEST_F(PkgUpgraderTest, Upgrader) {
+  Upgrader upgrader;
+
+  upgrader.SetDbPath("./tests/unit_tests/pkg_upgrade/data/db");
+  ASSERT_TRUE(upgrader.Process(&finder_));
+
+  const auto& success = upgrader.GetSuccessList();
+  const auto& failure = upgrader.GetFailureList();
+
+  EXPECT_EQ(success.size(), 6);
+  EXPECT_EQ(failure.size(), 0);
+}
+
+TEST_F(PkgUpgraderTest, Upgrader_db_bck) {
+  Upgrader upgrader;
+
+  upgrader.SetDbPath("./tests/unit_tests/pkg_upgrade/data/db_bck");
+  EXPECT_TRUE(upgrader.Process(&finder_));
+}
+
+class PkgUpgraderTestForInvalidDbPath : public TestFixture {
+ public:
+  PkgUpgraderTestForInvalidDbPath() : TestFixture(std::make_unique<Mocks>()) {}
+  virtual ~PkgUpgraderTestForInvalidDbPath() {}
+
+  virtual void SetUp() {
+    finder_.SetManifestDir("./tests/unit_tests/pkg_upgrade/data/packages/");
+    finder_.SetPreloadRwListPath("./tests/unit_tests/pkg_upgrade/data/rw/list.txt");
+  }
+
+  virtual void TearDown() {
+  }
+
+  PkgFinder finder_;
+};
+
+TEST_F(PkgUpgraderTestForInvalidDbPath, Upgrader_invalid_db) {
+  Upgrader upgrader;
+
+  upgrader.SetDbPath("./tests/unit_tests/pkg_upgrade/data/invalid_path");
+  EXPECT_FALSE(upgrader.Process(&finder_));
+}
diff --git a/tests/unit_tests/src/test_backend_invoker.cc b/tests/unit_tests/src/test_backend_invoker.cc
deleted file mode 100644 (file)
index 9dcf535..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <stdlib.h>
-#include <gtest/gtest.h>
-#include <stdio.h>
-
-#include <list>
-#include <memory>
-
-#include "backend_invoker.hh"
-#include "mock/test_fixture.h"
-
-using namespace common_fota;
-
-class BackendInvokerTest : public ::testing::Test {
- protected:
-  void SetUp() override {}
-  void TearDown() override {}
-};
-
-bool CompareArgumentList(std::list<std::string> l_arglist,
-    std::list<std::string> r_arglist) {
-  if (l_arglist.size() != r_arglist.size() ||
-      l_arglist.size() == 0 || r_arglist.size() == 0)
-    return false;
-
-  for (auto arg : l_arglist) {
-    if (!(std::find(r_arglist.begin(), r_arglist.end(), arg) !=
-        r_arglist.end()))
-      return false;
-  }
-
-  return true;
-}
-
-TEST_F(BackendInvokerTest, TPKPreloadRWUpdateRemovable) {
-  BackendInvoker update_backend("tpk_pkgid", PkgType::TPK,
-      PkgLocation::RW, PkgOperation::UPDATE, true);
-
-  std::list<std::string> expected_argument { "/usr/bin/tpk-backend", "-y",
-      "tpk_pkgid", "--preload-rw", "--skip-check-reference"};
-
-  EXPECT_TRUE(CompareArgumentList(update_backend.GetParameter(),
-      expected_argument));
-
-  BackendInvoker install_backend("tpk_pkgid", PkgType::TPK,
-      PkgLocation::RW, PkgOperation::INSTALL, true);
-  EXPECT_TRUE(CompareArgumentList(install_backend.GetParameter(),
-      expected_argument));
-}
-
-TEST_F(BackendInvokerTest, WGTPreloadRWUpdateRemovable) {
-  BackendInvoker update_backend("wgt_pkgid", PkgType::WGT,
-      PkgLocation::RW, PkgOperation::UPDATE, true);
-
-  std::list<std::string> expected_argument { "/usr/bin/wgt-backend", "-y",
-      "wgt_pkgid", "--preload-rw", "--skip-check-reference"};
-
-  EXPECT_TRUE(CompareArgumentList(update_backend.GetParameter(),
-      expected_argument));
-
-  BackendInvoker install_backend("wgt_pkgid", PkgType::WGT,
-      PkgLocation::RW, PkgOperation::INSTALL, true);
-  EXPECT_TRUE(CompareArgumentList(install_backend.GetParameter(),
-      expected_argument));
-}
-
-TEST_F(BackendInvokerTest, TPKPreloadROUpdate) {
-  BackendInvoker update_backend("tpk_pkgid", PkgType::TPK,
-      PkgLocation::RO, PkgOperation::UPDATE, false);
-
-  std::list<std::string> expected_argument { "/usr/bin/tpk-backend", "-y",
-      "tpk_pkgid", "--preload", "--partial-rw", "--skip-check-reference"};
-
-  EXPECT_TRUE(CompareArgumentList(update_backend.GetParameter(),
-      expected_argument));
-
-  BackendInvoker install_backend("tpk_pkgid", PkgType::TPK,
-      PkgLocation::RO, PkgOperation::INSTALL, false);
-  EXPECT_TRUE(CompareArgumentList(install_backend.GetParameter(),
-      expected_argument));
-}
-
-TEST_F(BackendInvokerTest, WGTPreloadROUpdate) {
-  BackendInvoker update_backend("wgt_pkgid", PkgType::WGT,
-      PkgLocation::RO, PkgOperation::UPDATE, false);
-
-  std::list<std::string> expected_argument { "/usr/bin/wgt-backend", "-y",
-      "wgt_pkgid", "--preload", "--partial-rw", "--skip-check-reference"};
-  EXPECT_TRUE(CompareArgumentList(update_backend.GetParameter(),
-      expected_argument));
-
-  BackendInvoker install_backend("wgt_pkgid", PkgType::WGT,
-      PkgLocation::RO, PkgOperation::INSTALL, false);
-  EXPECT_TRUE(CompareArgumentList(install_backend.GetParameter(),
-      expected_argument));
-}
-
-TEST_F(BackendInvokerTest, TPKPreloadROUninstall) {
-  BackendInvoker backend("tpk_pkgid", PkgType::TPK,
-      PkgLocation::RO, PkgOperation::UNINSTALL, false);
-
-  std::list<std::string> expected_argument { "/usr/bin/tpk-backend", "-d",
-      "tpk_pkgid", "--preload", "--force-remove", "--partial-rw"};
-  EXPECT_TRUE(CompareArgumentList(backend.GetParameter(),
-      expected_argument));
-}
-
-TEST_F(BackendInvokerTest, WGTPreloadROUninstall) {
-  BackendInvoker backend("wgt_pkgid", PkgType::WGT,
-      PkgLocation::RO, PkgOperation::UNINSTALL, false);
-
-  std::list<std::string> expected_argument { "/usr/bin/wgt-backend", "-d",
-      "wgt_pkgid", "--preload", "--force-remove", "--partial-rw"};
-  EXPECT_TRUE(CompareArgumentList(backend.GetParameter(),
-      expected_argument));
-}
-
-TEST_F(BackendInvokerTest, TPKRWUninstall) {
-  BackendInvoker backend("tpk_pkgid", PkgType::TPK,
-      PkgLocation::RW, PkgOperation::UNINSTALL, false);
-
-  std::list<std::string> expected_argument { "/usr/bin/tpk-backend", "-d",
-      "tpk_pkgid", "--force-remove", "--partial-rw"};
-  EXPECT_TRUE(CompareArgumentList(backend.GetParameter(),
-      expected_argument));
-}
-
-TEST_F(BackendInvokerTest, WGTRWUninstall) {
-  BackendInvoker backend("wgt_pkgid", PkgType::WGT,
-      PkgLocation::RW, PkgOperation::UNINSTALL, false);
-
-  std::list<std::string> expected_argument { "/usr/bin/wgt-backend", "-d",
-      "wgt_pkgid", "--force-remove", "--partial-rw"};
-  EXPECT_TRUE(CompareArgumentList(backend.GetParameter(),
-      expected_argument));
-}
-
-TEST_F(BackendInvokerTest, TPKPreloadROUninstallKeepRWData) {
-  BackendInvoker backend("tpk_pkgid", PkgType::TPK,
-      PkgLocation::RO, PkgOperation::UNINSTALL_KEEP_RW_DATA, false);
-
-  std::list<std::string> expected_argument { "/usr/bin/tpk-backend", "-d",
-      "tpk_pkgid", "--preload", "--force-remove", "--keep-rwdata"};
-  EXPECT_TRUE(CompareArgumentList(backend.GetParameter(),
-      expected_argument));
-}
-
-TEST_F(BackendInvokerTest, WGTPreloadROUninstallKeepRWData) {
-  BackendInvoker backend("wgt_pkgid", PkgType::WGT,
-      PkgLocation::RO, PkgOperation::UNINSTALL_KEEP_RW_DATA, false);
-
-  std::list<std::string> expected_argument { "/usr/bin/wgt-backend", "-d",
-      "wgt_pkgid", "--preload", "--force-remove", "--keep-rwdata"};
-  EXPECT_TRUE(CompareArgumentList(backend.GetParameter(),
-      expected_argument));
-}
-
-TEST_F(BackendInvokerTest, TPKRWUninstallKeepRWData) {
-  BackendInvoker backend("tpk_pkgid", PkgType::TPK,
-      PkgLocation::RW, PkgOperation::UNINSTALL_KEEP_RW_DATA, false);
-
-  std::list<std::string> expected_argument { "/usr/bin/tpk-backend", "-d",
-      "tpk_pkgid", "--force-remove", "--keep-rwdata"};
-  EXPECT_TRUE(CompareArgumentList(backend.GetParameter(),
-      expected_argument));
-}
-
-TEST_F(BackendInvokerTest, WGTRWUninstallKeepRWData) {
-  BackendInvoker backend("wgt_pkgid", PkgType::WGT,
-      PkgLocation::RW, PkgOperation::UNINSTALL_KEEP_RW_DATA, false);
-
-  std::list<std::string> expected_argument { "/usr/bin/wgt-backend", "-d",
-      "wgt_pkgid", "--force-remove", "--keep-rwdata"};
-  EXPECT_TRUE(CompareArgumentList(backend.GetParameter(),
-      expected_argument));
-}
diff --git a/tests/unit_tests/src/test_main.cc b/tests/unit_tests/src/test_main.cc
deleted file mode 100644 (file)
index 5a9f91d..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) 2020 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <gtest/gtest.h>
-#include <gmock/gmock.h>
-
-int main(int argc, char** argv) {
-  int ret = -1;
-
-  try {
-    testing::InitGoogleTest(&argc, argv);
-  } catch(...) {
-    std::cout << "Exception occurred" << std::endl;
-  }
-
-  try {
-    ret = RUN_ALL_TESTS();
-  } catch (const ::testing::internal::GoogleTestFailureException& e) {
-    ret = -1;
-    std::cout << "GoogleTestFailureException was thrown:"
-              << e.what() << std::endl;
-  }
-
-  return ret;
-}
diff --git a/tests/unit_tests/src/test_pkg_upgrader.cc b/tests/unit_tests/src/test_pkg_upgrader.cc
deleted file mode 100644 (file)
index 5b7d750..0000000
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
- * Copyright (c) 2020 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <stdlib.h>
-#include <gtest/gtest.h>
-#include <stdio.h>
-
-#include <memory>
-
-#include "mock/os_mock.h"
-#include "mock/pkgmgr_info_mock.h"
-#include "mock/test_fixture.h"
-#include "pkg_finder.hh"
-#include "pkg_upgrader_factory.hh"
-#include "upgrader.hh"
-
-using ::testing::_;
-using ::testing::DoAll;
-using ::testing::Invoke;
-using ::testing::Return;
-using ::testing::SetArgPointee;
-using ::testing::InvokeArgument;
-using ::testing::SaveArg;
-
-using common_fota::PkgFinder;
-using common_fota::PkgUpgraderFactory;
-using common_fota::Upgrader;
-
-class Mocks : public ::testing::NiceMock<PkgMgrInfoMock>,
-    public ::testing::NiceMock<OsMock> {};
-
-class PkgFinderTest : public TestFixture {
- public:
-  PkgFinderTest() : TestFixture(std::make_unique<Mocks>()) {}
-  virtual ~PkgFinderTest() {}
-
-  virtual void SetUp() {
-    static int k;
-    pkgmgrinfo_pkginfo_filter_h dummy_filter = (pkgmgrinfo_pkginfo_filter_h)&k;
-
-    EXPECT_CALL(GetMock<PkgMgrInfoMock>(), pkgmgrinfo_pkginfo_filter_create(_))
-        .WillRepeatedly(DoAll(SetArgPointee<0>(dummy_filter), Return(0)));
-    EXPECT_CALL(GetMock<PkgMgrInfoMock>(),
-        pkgmgrinfo_pkginfo_filter_add_bool(_, _, _))
-        .WillRepeatedly(Return(0));
-
-    EXPECT_CALL(GetMock<PkgMgrInfoMock>(),
-        pkgmgrinfo_pkginfo_filter_foreach_pkginfo(_, _, _))
-        .WillOnce(
-            Invoke([](pkgmgrinfo_pkginfo_filter_h handle,
-                pkgmgrinfo_pkg_list_cb pkg_cb, void *user_data) -> int {
-              pkg_cb(nullptr, user_data);
-              pkg_cb(nullptr, user_data);
-              pkg_cb(nullptr, user_data);
-              return 0;
-            })
-        )
-        .WillOnce(Invoke([](pkgmgrinfo_pkginfo_filter_h handle,
-                pkgmgrinfo_pkg_list_cb pkg_cb, void *user_data) -> int {
-              pkg_cb(nullptr, user_data);
-              return 0;
-            }));
-
-    const char* old_ro_pkgid[] = {
-      "org.test.pkg1",
-      "org.test.pkg2",
-      "org.tizen.app-selector"
-    };
-
-    const char* old_ro_pkg_type[] = {
-      "tpk",
-      "wgt",
-      "tpk"
-    };
-
-    const char* old_ro_pkg_version[] = {
-      "1.0.0",
-      "1.2.0",
-      "0.1.0"
-    };
-
-    const char* old_rw_pkgid[] = {
-      "org.tizen.alarm"
-    };
-
-    const char* old_rw_pkg_type[] = {
-      "tpk"
-    };
-
-    const char* old_rw_pkg_version[] = {
-      "1.5.0",
-    };
-
-    EXPECT_CALL(GetMock<PkgMgrInfoMock>(),
-        pkgmgrinfo_pkginfo_get_pkgid(_, _))
-        .WillOnce(DoAll(SetArgPointee<1>(
-            const_cast<char*>(old_ro_pkgid[0])), Return(0)))
-        .WillOnce(DoAll(SetArgPointee<1>(
-            const_cast<char*>(old_ro_pkgid[1])), Return(0)))
-        .WillOnce(DoAll(SetArgPointee<1>(
-            const_cast<char*>(old_ro_pkgid[2])), Return(0)))
-        .WillOnce(DoAll(SetArgPointee<1>(
-            const_cast<char*>(old_rw_pkgid[0])), Return(0)));
-    EXPECT_CALL(GetMock<PkgMgrInfoMock>(),
-        pkgmgrinfo_pkginfo_get_type(_, _))
-        .WillOnce(DoAll(SetArgPointee<1>(
-            const_cast<char*>(old_ro_pkg_type[0])), Return(0)))
-        .WillOnce(DoAll(SetArgPointee<1>(
-            const_cast<char*>(old_ro_pkg_type[1])), Return(0)))
-        .WillOnce(DoAll(SetArgPointee<1>(
-            const_cast<char*>(old_ro_pkg_type[2])), Return(0)))
-        .WillOnce(DoAll(SetArgPointee<1>(
-            const_cast<char*>(old_rw_pkg_type[0])), Return(0)));
-    EXPECT_CALL(GetMock<PkgMgrInfoMock>(),
-        pkgmgrinfo_pkginfo_get_version(_, _))
-        .WillOnce(DoAll(SetArgPointee<1>(
-            const_cast<char*>(old_ro_pkg_version[0])), Return(0)))
-        .WillOnce(DoAll(SetArgPointee<1>(
-            const_cast<char*>(old_ro_pkg_version[1])), Return(0)))
-        .WillOnce(DoAll(SetArgPointee<1>(
-            const_cast<char*>(old_ro_pkg_version[2])), Return(0)))
-        .WillOnce(DoAll(SetArgPointee<1>(
-            const_cast<char*>(old_rw_pkg_version[0])), Return(0)));
-
-    EXPECT_CALL(GetMock<PkgMgrInfoMock>(), pkgmgrinfo_pkginfo_filter_destroy(_))
-        .WillRepeatedly(Return(0));
-
-    finder_.SetManifestDir("./tests/unit_tests/data/packages/");
-    finder_.SetPreloadRwListPath("./tests/unit_tests/data/rw/list.txt");
-  }
-
-  virtual void TearDown() {
-  }
-
-  PkgFinder finder_;
-};
-
-TEST_F(PkgFinderTest, PkgFinder) {
-  finder_.Find();
-
-  EXPECT_EQ(finder_.GetOldPkgs().size(), 4);
-  EXPECT_EQ(finder_.GetNewPkgs().size(), 5);
-}
-
-TEST_F(PkgFinderTest, PkgUpgraderFactory) {
-  PkgUpgraderFactory factory;
-  auto list = factory.MakeList(&finder_);
-
-  EXPECT_EQ(list.size(), 6);
-}
-
-class PkgUpgraderTest : public PkgFinderTest {
- public:
-  PkgUpgraderTest() {}
-  virtual ~PkgUpgraderTest() {}
-
-  void SetUp() override {
-    PkgFinderTest::SetUp();
-    EXPECT_CALL(GetMock<OsMock>(), fork())
-        .WillRepeatedly(Return(1));
-    EXPECT_CALL(GetMock<OsMock>(), waitpid(_, _, _))
-          .WillRepeatedly(DoAll(SetArgPointee<1>(0), Return(1)));
-    EXPECT_CALL(GetMock<OsMock>(), fchown(_, _, _))
-          .WillRepeatedly(Return(0));
-    EXPECT_CALL(GetMock<OsMock>(), fchmod(_, _))
-          .WillRepeatedly(Return(0));
-    EXPECT_CALL(GetMock<OsMock>(), smack_setlabel(_, _, _))
-          .WillRepeatedly(Return(0));
-  }
-
-  void TearDown() override {
-    PkgFinderTest::TearDown();
-  }
-};
-
-TEST_F(PkgUpgraderTest, Upgrader) {
-  Upgrader upgrader;
-
-  upgrader.SetDbPath("./tests/unit_tests/data/db");
-  ASSERT_TRUE(upgrader.Process(&finder_));
-
-  const auto& success = upgrader.GetSuccessList();
-  const auto& failure = upgrader.GetFailureList();
-
-  EXPECT_EQ(success.size(), 6);
-  EXPECT_EQ(failure.size(), 0);
-}
-
-TEST_F(PkgUpgraderTest, Upgrader_db_bck) {
-  Upgrader upgrader;
-
-  upgrader.SetDbPath("./tests/unit_tests/data/db_bck");
-  EXPECT_TRUE(upgrader.Process(&finder_));
-}
-
-class PkgUpgraderTestForInvalidDbPath : public TestFixture {
- public:
-  PkgUpgraderTestForInvalidDbPath() : TestFixture(std::make_unique<Mocks>()) {}
-  virtual ~PkgUpgraderTestForInvalidDbPath() {}
-
-  virtual void SetUp() {
-    finder_.SetManifestDir("./tests/unit_tests/data/packages/");
-    finder_.SetPreloadRwListPath("./tests/unit_tests/data/rw/list.txt");
-  }
-
-  virtual void TearDown() {
-  }
-
-  PkgFinder finder_;
-};
-
-TEST_F(PkgUpgraderTestForInvalidDbPath, Upgrader_invalid_db) {
-  Upgrader upgrader;
-
-  upgrader.SetDbPath("./tests/unit_tests/data/invalid_path");
-  EXPECT_FALSE(upgrader.Process(&finder_));
-}