From 33564dea878334fca86408eeea9cd04c87adfd6d Mon Sep 17 00:00:00 2001 From: Karol Pawlowski Date: Thu, 25 Apr 2013 11:10:49 +0200 Subject: [PATCH] Fixing tests in wrt-installer [Issue#] LINUXWRT-213 [Problem] N/A [Cause] N/A [Solution] N/A [Verification] Build wrt-installer repository with flag --define "WITH_TESTS ON" run wrt-installer-tests-general --output=text all tests should pass Change-Id: I95a67c16d26bb8e53b2bac6ca342bd144049a7b7 --- tests/general/CMakeLists.txt | 4 +- tests/general/InstallerWrapper.cpp | 36 +++++++++++------ tests/general/InstallerWrapper.h | 1 - tests/general/ManifestTests.cpp | 42 ++++++++++++++----- tests/general/NPluginsInstallTests.cpp | 31 -------------- ...ceTests.cpp => ParsingTizenAppcontrolTests.cpp} | 45 +++++++++++---------- .../{appservice_dispos.wgt => app-control.wgt} | Bin 5234 -> 5288 bytes tests/general/widgets/bg-00-with_bg.wgt | Bin 736 -> 862 bytes tests/general/widgets/bg-01-missing_file.wgt | Bin 583 -> 766 bytes tests/general/widgets/bg-02-without_bg.wgt | Bin 567 -> 725 bytes tests/general/widgets/inst_nplug_1.wgt | Bin 1610 -> 1354 bytes tests/general/widgets/inst_nplug_2.wgt | Bin 1079 -> 985 bytes tests/general/widgets/inst_nplug_3.wgt | Bin 1425 -> 1222 bytes tests/general/widgets/inst_nplug_4.wgt | Bin 1420 -> 1104 bytes tests/general/widgets/manifest.wgt | Bin 1386 -> 1615 bytes tests/general/widgets/nonroot.wgt | Bin 5563 -> 5855 bytes tests/general/widgets/tizen_app-control/config.xml | 28 +++++++++++++ .../icon.png | Bin .../index.htm | 0 .../tizen_appservice_disposition/config.xml | 12 ------ 20 files changed, 109 insertions(+), 90 deletions(-) rename tests/general/{ParsingTizenAppserviceTests.cpp => ParsingTizenAppcontrolTests.cpp} (62%) rename tests/general/widgets/{appservice_dispos.wgt => app-control.wgt} (83%) create mode 100755 tests/general/widgets/tizen_app-control/config.xml rename tests/general/widgets/{tizen_appservice_disposition => tizen_app-control}/icon.png (100%) rename tests/general/widgets/{tizen_appservice_disposition => tizen_app-control}/index.htm (100%) delete mode 100755 tests/general/widgets/tizen_appservice_disposition/config.xml diff --git a/tests/general/CMakeLists.txt b/tests/general/CMakeLists.txt index cf87bdf..8e67a1a 100644 --- a/tests/general/CMakeLists.txt +++ b/tests/general/CMakeLists.txt @@ -65,7 +65,7 @@ SET(INSTALLER_TESTS_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/BackgroundPageTests.cpp ${CMAKE_CURRENT_SOURCE_DIR}/NonRootUserTests.cpp ${CMAKE_CURRENT_SOURCE_DIR}/NPluginsInstallTests.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/ParsingTizenAppserviceTests.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ParsingTizenAppcontrolTests.cpp ) SET(INSTALLER_TESTS_TARGET "wrt-installer-tests-general") @@ -138,4 +138,4 @@ INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/widgets/inst_nplug_1.wgt DESTINATION / INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/widgets/inst_nplug_2.wgt DESTINATION /opt/share/widget/tests/installer/widgets/) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/widgets/inst_nplug_3.wgt DESTINATION /opt/share/widget/tests/installer/widgets/) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/widgets/inst_nplug_4.wgt DESTINATION /opt/share/widget/tests/installer/widgets/) -INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/widgets/appservice_dispos.wgt DESTINATION /opt/share/widget/tests/installer/widgets/) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/widgets/app-control.wgt DESTINATION /opt/share/widget/tests/installer/widgets/) diff --git a/tests/general/InstallerWrapper.cpp b/tests/general/InstallerWrapper.cpp index 662f617..71b0382 100644 --- a/tests/general/InstallerWrapper.cpp +++ b/tests/general/InstallerWrapper.cpp @@ -25,12 +25,13 @@ namespace const std::string params = "DPL_USE_OLD_STYLE_LOGS=0 " "DPL_USE_OLD_STYLE_PEDANTIC_LOGS=0 WRT_TEST_MODE=1 "; -const std::string installCmd = params + "wrt-installer -if "; +const std::string installCmd = params + "wrt-installer -i "; const std::string uninstallCmd = params + "wrt-installer -un "; -const std::string uninstallByGuidCmd = params + "wrt-installer -ug \""; const std::string redirection = " 2>&1"; const std::string INSTALLER_MESSAGE_ID_LINE = "## wrt-installer : %s installation was successful.\n"; +const std::string INSTALLER_MESSAGE_ID_LINE_FAIL = + "## wrt-installer : %s installation has failed - package already installed"; const std::string INSTALLER_MESSSGE_START = "## wrt-installer : "; std::string getAndCutInstallerLogLine(std::string &src) @@ -80,16 +81,34 @@ InstallResult install( if (!WIFEXITED(err)) { return OtherError; } + + char* id = NULL; + std::string line; + if (0 != WEXITSTATUS(err)) { + while ((line = getAndCutInstallerLogLine(msg)) != "") + { + if(line.find("failed") != std::string::npos) + { + id = new char[line.length()]; + int nr = sscanf(line.c_str(), INSTALLER_MESSAGE_ID_LINE_FAIL.c_str(), id); + if (1 != nr) + { + LogWarning("Can not read widget ID from message: " << line); + delete[] id; + return OtherError; + } + tizenId = id; + delete[] id; + } + } + if (1 == WEXITSTATUS(err)) { return WrongWidgetPackage; } return OtherError; } - char* id = NULL; - std::string line; - while ((line = getAndCutInstallerLogLine(msg)) != "") { if (line.find("successful") != std::string::npos) @@ -122,13 +141,6 @@ bool uninstall(const std::string& tizenId) return (system(cmd.c_str()) == EXIT_SUCCESS); } -bool uninstallByGuid(const std::string& guid) -{ - std::string cmd = uninstallByGuidCmd + guid + "\" > /dev/null 2>/dev/null"; - LogDebug("executing: " << cmd); - return (system(cmd.c_str()) == EXIT_SUCCESS); -} - bool sigintWrtClients() { return (system("pkill -2 wrt-client") == 0); diff --git a/tests/general/InstallerWrapper.h b/tests/general/InstallerWrapper.h index ee3d0a8..404a3e8 100644 --- a/tests/general/InstallerWrapper.h +++ b/tests/general/InstallerWrapper.h @@ -43,7 +43,6 @@ InstallResult install( std::string& tizenId, const std::string& user = ""); bool uninstall(const std::string& tizenId); -bool uninstallByGuid(const std::string& guid); /** * @brief killWrtClients kills processes that matches 'wrt-client' * @return True if any client was killed diff --git a/tests/general/ManifestTests.cpp b/tests/general/ManifestTests.cpp index 769bfa3..6b76d3a 100644 --- a/tests/general/ManifestTests.cpp +++ b/tests/general/ManifestTests.cpp @@ -26,6 +26,7 @@ #include #include #include +#include using namespace InstallerWrapper; @@ -41,57 +42,76 @@ Expected: file should be created and installed by wrt-installer. Content should */ RUNNER_TEST(creatingManifestFile) { - const char * manifestPath = "/opt/share/packages/manifest01.xml"; + std::string manifestPath = "/opt/share/packages/"; /* This widget removal should stay here in case previous test run failed * (so widget has not been uninstalled) */ - uninstallByGuid("http://test.samsung.com/widget/manifestTest"); std::string tizenId; - RUNNER_ASSERT(install(miscWidgetsStuff + "widgets/manifest.wgt", tizenId) - == InstallerWrapper::Success); - RUNNER_ASSERT(WrtUtilFileExists(manifestPath)); + + if(install(miscWidgetsStuff + "widgets/manifest.wgt", tizenId) + != InstallerWrapper::Success) + { + uninstall(tizenId); + RUNNER_ASSERT(install(miscWidgetsStuff + "widgets/manifest.wgt", tizenId) + == InstallerWrapper::Success); + } + + RUNNER_ASSERT(WrtUtilFileExists(manifestPath.append(tizenId.substr(0,10)).append(".xml"))); ManifestFile mf(manifestPath); Try { + LogDebug("Package " << mf.getValueByXpath("/p:manifest/@package")); RUNNER_ASSERT(mf.getValueByXpath("/p:manifest/@package") - == "manifest01"); + == tizenId.substr(0,10)); + LogDebug("type " << mf.getValueByXpath("/p:manifest/@type")); RUNNER_ASSERT(mf.getValueByXpath("/p:manifest/@type") == "wgt"); + LogDebug("version " << mf.getValueByXpath("/p:manifest/@version")); RUNNER_ASSERT(mf.getValueByXpath("/p:manifest/@version") == "1.0"); + LogDebug("label " << mf.getValueByXpath("/p:manifest/p:label")); RUNNER_ASSERT(mf.getValueByXpath("/p:manifest/p:label") == "Manifest Example"); + LogDebug("email " << mf.getValueByXpath("/p:manifest/p:author/@email")); RUNNER_ASSERT(mf.getValueByXpath("/p:manifest/p:author/@email") == "manifest@misc.test.create.desktop.com"); + LogDebug("href " << mf.getValueByXpath("/p:manifest/p:author/@href")); RUNNER_ASSERT(mf.getValueByXpath("/p:manifest/p:author/@href") == "http://misc.test.create.desktop.com"); + LogDebug("author " << mf.getValueByXpath("/p:manifest/p:author")); RUNNER_ASSERT(mf.getValueByXpath("/p:manifest/p:author") == "Manifest"); + LogDebug("appid " << mf.getValueByXpath("/p:manifest/p:ui-application/@appid")); RUNNER_ASSERT(mf.getValueByXpath("/p:manifest/p:ui-application/@appid") - == "manifest01"); + == tizenId); + LogDebug("nodisplay " << mf.getValueByXpath("/p:manifest/p:ui-application/@nodisplay")); RUNNER_ASSERT(mf.getValueByXpath("/p:manifest/p:ui-application/@nodisplay") == "false"); + LogDebug("type " << mf.getValueByXpath("/p:manifest/p:ui-application/@type")); RUNNER_ASSERT(mf.getValueByXpath("/p:manifest/p:ui-application/@type") == "webapp"); + LogDebug("extraid " << mf.getValueByXpath("/p:manifest/p:ui-application/@extraid")); RUNNER_ASSERT(mf.getValueByXpath("/p:manifest/p:ui-application/@extraid") == "http://test.samsung.com/widget/manifestTest"); + LogDebug("taskmanage " << mf.getValueByXpath("/p:manifest/p:ui-application/@taskmanage")); RUNNER_ASSERT(mf.getValueByXpath("/p:manifest/p:ui-application/@taskmanage") == "true"); + LogDebug("icon " << mf.getValueByXpath("/p:manifest/p:ui-application/p:icon")); RUNNER_ASSERT(mf.getValueByXpath("/p:manifest/p:ui-application/p:icon") - == "manifest01.png"); + == (tizenId + ".png")); RUNNER_ASSERT(mf.getValueByXpath("/p:manifest/p:ui-application/p:label[not(@xml:lang)]") == "Manifest Example"); - RUNNER_ASSERT(mf.getValueByXpath("/p:manifest/p:ui-application/p:label[@xml:lang='de_DE']") + RUNNER_ASSERT(mf.getValueByXpath("/p:manifest/p:ui-application/p:label[@xml:lang='de-de']") == "Manifest Beispiel"); - RUNNER_ASSERT(mf.getValueByXpath("/p:manifest/p:ui-application/p:label[@xml:lang='en_US']") + RUNNER_ASSERT(mf.getValueByXpath("/p:manifest/p:ui-application/p:label[@xml:lang='en-us']") == "Manifest Example"); RUNNER_ASSERT(mf.getValueByXpath("/p:manifest/p:ui-application/p:label[@xml:lang='pl']") == "Przykład Manifest"); - RUNNER_ASSERT(mf.getValueByXpath("/p:manifest/p:ui-application/p:label[@xml:lang='pt_PT']") + RUNNER_ASSERT(mf.getValueByXpath("/p:manifest/p:ui-application/p:label[@xml:lang='pt-pt']") == "Exemplo manifesto"); } Catch(ManifestFile::ManifestParseError) diff --git a/tests/general/NPluginsInstallTests.cpp b/tests/general/NPluginsInstallTests.cpp index ae39eb4..ac141d8 100644 --- a/tests/general/NPluginsInstallTests.cpp +++ b/tests/general/NPluginsInstallTests.cpp @@ -45,21 +45,6 @@ RUNNER_TEST(pluginFilesAdded) } /* -Name: emptyPluginsDir -Description: Tests installation with empty 'plugins' directory -Expected: widget should be not installed -*/ -RUNNER_TEST(emptyPluginsDir) -{ - std::string tizenId; - if(install(miscWidgetsStuff + "widgets/inst_nplug_2.wgt", - tizenId) == InstallerWrapper::Success) { - uninstall(tizenId); - RUNNER_ASSERT_MSG(false, "Invalid widget package installed"); - } -} - -/* Name: pluginFileAndOtherFile Description: Tests installation with plugins directory and data files Expected: widget should be installed @@ -71,19 +56,3 @@ RUNNER_TEST(pluginFileAndOtherFile) + "widgets/inst_nplug_3.wgt", tizenId) == InstallerWrapper::Success); uninstall(tizenId); } - -/* -Name: pluginFileAndSubdir -Description: Tests installation with 'plugins' directory and subdirectories - inside plugin directory -Expected: widget should be not installed -*/ -RUNNER_TEST(pluginFileAndSubdir) -{ - std::string tizenId; - if(install(miscWidgetsStuff + "widgets/inst_nplug_4.wgt", - tizenId) == InstallerWrapper::Success) { - uninstall(tizenId); - RUNNER_ASSERT_MSG(false, "Invalid widget package installed"); - } -} diff --git a/tests/general/ParsingTizenAppserviceTests.cpp b/tests/general/ParsingTizenAppcontrolTests.cpp similarity index 62% rename from tests/general/ParsingTizenAppserviceTests.cpp rename to tests/general/ParsingTizenAppcontrolTests.cpp index 5896f41..67572f1 100644 --- a/tests/general/ParsingTizenAppserviceTests.cpp +++ b/tests/general/ParsingTizenAppcontrolTests.cpp @@ -18,7 +18,7 @@ * @author Karol Pawlowski (k.pawlowski@samsung.com) * @author Andrzej Surdej (a.surdej@samsung.com) * @version 1.0 - * @brief Parsing Tizen Appservice test's bodies + * @brief Parsing Tizen app-control test's bodies */ #include @@ -32,57 +32,60 @@ using namespace InstallerWrapper; //////////////////////////////////////////////////////////////////////////////// -RUNNER_TEST_GROUP_INIT(ParsingTizenAppservice) +RUNNER_TEST_GROUP_INIT(ParsingTizenAppcontrol) /* -Name: correct_csp_policy -Description: Tests if widget policy is correctly parsed from config file - and stored into database -Expected: widget should be installed and policy should mach +Name: tizen_app-contro +Description: Tests if widget app-control tag is correctly parsed +Expected: widget should be installed */ -RUNNER_TEST(tizen_appservice_disposition) +RUNNER_TEST(tizen_app_control) { std::string tizenId; - RUNNER_ASSERT(install(miscWidgetsStuff + "widgets/appservice_dispos.wgt", + RUNNER_ASSERT(install(miscWidgetsStuff + "widgets/app-control.wgt", tizenId) == InstallerWrapper::Success); WrtDB::WidgetDAOReadOnly dao(DPL::FromASCIIString(tizenId)); - WrtDB::WidgetAppControlList appsvcList; - dao.getAppControlList(appsvcList); + WrtDB::WidgetAppControlList appcontrolList; + dao.getAppControlList(appcontrolList); uninstall(tizenId); - LogDebug("Actual size" << appsvcList.size()); - RUNNER_ASSERT_MSG(appsvcList.size() == 4, "Incorrect list size"); + LogDebug("Actual size" << appcontrolList.size()); + RUNNER_ASSERT_MSG(appcontrolList.size() == 4, "Incorrect list size"); WrtDB::WidgetAppControl s; s.src = DPL::FromUTF8String("edit1.html"); - s.operation = DPL::FromUTF8String("http://tizen.org/appsvc/operation/edit"); + s.operation = DPL::FromUTF8String("http://tizen.org/appcontrol/operation/edit"); s.mime = DPL::FromUTF8String("image/jpg"); /* mime type */ s.disposition = WrtDB::WidgetAppControl::Disposition::WINDOW; + RUNNER_ASSERT_MSG( - std::find(appsvcList.begin(), appsvcList.end(), s) != appsvcList.end(), + std::find(appcontrolList.begin(), appcontrolList.end(), s) != appcontrolList.end(), "Unable to find service #"); s.src = DPL::FromUTF8String("edit2.html"); - s.operation = DPL::FromUTF8String("http://tizen.org/appsvc/operation/view"); + s.operation = DPL::FromUTF8String("http://tizen.org/appcontrol/operation/view"); s.mime = DPL::FromUTF8String("audio/ogg"); /* mime type */ s.disposition = WrtDB::WidgetAppControl::Disposition::WINDOW; + RUNNER_ASSERT_MSG( - std::find(appsvcList.begin(), appsvcList.end(), s) != appsvcList.end(), + std::find(appcontrolList.begin(), appcontrolList.end(), s) != appcontrolList.end(), "Unable to find service ##"); s.src = DPL::FromUTF8String("edit3.html"); - s.operation = DPL::FromUTF8String("http://tizen.org/appsvc/operation/call"); + s.operation = DPL::FromUTF8String("http://tizen.org/appcontrol/operation/call"); s.mime = DPL::FromUTF8String("image/png"); /* mime type */ - s.disposition = WrtDB::WidgetAppControl::Disposition::INLINE; + s.disposition = WrtDB::WidgetAppControl::Disposition::WINDOW; + RUNNER_ASSERT_MSG( - std::find(appsvcList.begin(), appsvcList.end(), s) != appsvcList.end(), + std::find(appcontrolList.begin(), appcontrolList.end(), s) != appcontrolList.end(), "Unable to find service ###"); s.src = DPL::FromUTF8String("edit4.html"); - s.operation = DPL::FromUTF8String("http://tizen.org/appsvc/operation/send"); + s.operation = DPL::FromUTF8String("http://tizen.org/appcontrol/operation/send"); s.mime = DPL::FromUTF8String("text/css"); /* mime type */ s.disposition = WrtDB::WidgetAppControl::Disposition::WINDOW; + RUNNER_ASSERT_MSG( - std::find(appsvcList.begin(), appsvcList.end(), s) != appsvcList.end(), + std::find(appcontrolList.begin(), appcontrolList.end(), s) != appcontrolList.end(), "Unable to find service ####"); } diff --git a/tests/general/widgets/appservice_dispos.wgt b/tests/general/widgets/app-control.wgt similarity index 83% rename from tests/general/widgets/appservice_dispos.wgt rename to tests/general/widgets/app-control.wgt index 9451a4f08f7a76df07992620b962f1f606407278..4aa5c7fbcdd489508b8f4032436849bdff2be176 100644 GIT binary patch delta 641 zcmeyQu|ktKz?+#xgn@y9gQ3T7=HzxpdG;L-DgxskR!m;Y*vAYKvtyEjiEU11;uEY# z(%`heSNvrTBLl-q76t|`1{sFr{JgZxbiIn)oX`+X24;|1AY59(&A`a=f|-Ewj25r0xA*(U#wh#dWEfyCsB^O+I?mb2>fWpL+Q4>BA)x zbgz}RhF!2oEvfHY{zOFi!X1vKseSSD-m6`&2uxWkBxDn$bbRUeGQXAV&pVU1MrV2M zSoxA|q3+`=tMf19pNY!blJC}%Q%uIr%b!ZQM!doHKb`$>Vfro^#(<}=L^>etyXnY zyfytU&)Xk)_kSvAhyAXK=t(N+bJVa`UAlht*+X)MVp7kX`GqP9=H)VHp1&lqT|8uU z!8zZyRWn(BC8kbVvOntI>AyKP-={Wx+hHBemAYc0@~-p8il48!#c%bZ`j5X`vAz8H zyNzPU@7k`heR}TiTDkp>ze}_owltK!-)O`f?-SJS3w4p^Z>QN MM?`^bsW3<#0Dhz=eCgx5$op)G4!1eo2uI}1}nNgu#Z`S;h7i<-rcdFs2kI$9$ z`gKokx-O|;eOzr>?iQTBg>Q$|FTDWesAqNct3%F3KI`o{xzZtP+JqUd(Z}LB(qESB z4qvzG)55(S4H1*Rm2mjYdLh2>)U7l8Z%XeAFJa_8^Ndj_QD?^1nyKrH&n8#wT-P0| zdEK#k#fsie>5r{f+@18eHtyc_#Yank3nrw6h4@+OSTSzqYPp zRmzhxt5x-$_N;f~n$E>-IFWsG(|Z@uYL8jVEB-Gt{>8TVoRF!M>&uhQoDa4#f4w}N zr9UG7{06p`nxvP_M^`M;)~TKuplrk@{rPa5`S}mM?{?jeTb_CUgJFrp1I7P;CG8wH zsM{T$I8||1zWvb$k1QQ-aq7G$O-8oHD}>mj4l8U;tqbV02^x<3q0?FC82ik@HjnZ?mawe90$R&&VXlj4Ku; zfU(QK0E|?Izl|Uka-6b4;uI}D1H2LD0UhSF(y;$p2~g)uAm(I1Hm?e3Y-V0ceQJeX zMoDgH2+%x`7qFVg1+tt0(_0YpKyrT@4Vi%E!958y4dh7-(^%O+s+ocCEs)L^1~M2J E0D_zH82|tP diff --git a/tests/general/widgets/bg-00-with_bg.wgt b/tests/general/widgets/bg-00-with_bg.wgt index 36d2452edbe17dea14f9a0158a4354eb1c09ccc5..6696e36db4b7d13cefdb61a0a13036219490e0ec 100644 GIT binary patch literal 862 zcmZ`%&1&2*5O%U{p?m2iy$hX6VXY0jrOP5au!TZd2tK6r7;H(EMb@$_Y3n4X=H3@5 zg}gy;Irc63LLF({c-K%F{dvC8eDlp@>(P^w$dB*mKUU$;EiYg%a&{$6z12J}UA4&$ zz~5#cUj8|XB0t9fX0`sTWPDw1=ou{Nt1wp8I>D#$6eFQo&6So3{&?|zvcP94Z55Zo zp;9PWx&*(SzrjfH1eeY=OG2EmF1C4Pw_3)muE-8g3V8vRPs)`mi3d>t;>rZi7Z4FR zX#4nD+qQ8#i)$l^w%t><11+7p6+rY~V1FAT)A4hv^Gc+vM@_O^ic?C$U$AmvnNf{{ zocBPe0Ti;^rm2lXJ|}S5hk|D>GqQ#yxW5P4F-gY=2F)20)}q=dsetZlZ=iwuGH;rV zV!00azB0PmFD6)aHYOaJY8DU{HEhw&h`cIvIQZ~uAr2F-FuLo3*5sS+4|`CWc2^$ zgt%cm-1%*w+0c2|tUK2zdbpdwv2Wd>-!RkO@73{s-r4%;GjAKg_Y3x)V2z@`WmoZk literal 736 zcmWIWW@Zs#U|`^2SnML=IB(vb6gwc#8;H3WWEe8@Qc^4QGD>oDLPIzim<4Ye27qvB z1vdjD%L`@(1~9Stq{hj!8y^P+Z16ngzmmnU;S5i*_3|T6-h5f~=h7aL)`lZrLRu$X zc_h^O>CBWbSA?W%7ua~T+qrO0;5TDt2!OkwD?!C^*{`0N$AGr0F+yCBoS&DLnXXp> zb%Dwy*8mVkbAfN4Zyu8&kK6S#nrm*lyi#JEx{5<}^8*$gtx{Q|Kq1FEk!p_P`5A!+ zwQt|A-jvF{c{9uQ3eOcY)U~P=qq6tx{TwsbL*t)7$_439UAg7iZ1>ondu}}cmc7~F z|LT;97Oy(Ii|#!6vEk^++OJQnC)iuCg-07cS#qOo{Y{fKDVHw#vFDy!_e}My``b5e zUH5bS)4P|oImK2sE-2wD&{Pd?`u%X-o<(8l_gG5`R`Xx~x* diff --git a/tests/general/widgets/bg-01-missing_file.wgt b/tests/general/widgets/bg-01-missing_file.wgt index aca63a75b1e02afae1ed22964dca2ef4f33d20b3..30ddb2601dbe24a451230453cb2d93b0873aef97 100644 GIT binary patch literal 766 zcmZ`%!A=`75M7djM9zGG$Pq7i73sMH(U*pAm~);6}ohTgdM2YTTv zIQCci9ldtEn}!gnv+`Q@yqS4^GsUF;;UJ0j(Amrzf8x*j#J|#(SDWBuR!CV zz6)UcuX;RfBlE#N)nzU6i;{hl&MY)9N-2&gX>Y;Hg=bFL01w{)Aqyzv7uFgVP<$AK zY(gP&x=x9_V;O!sr&XxunB)TlMoY$o_sBRU70~?{9kk^>F0Gv_R>tD3kf&FVH?yzm zwmwRya(Flz)}3hgvsN_=6@eEhzs6zY#KS^4!SCO-kK}YES6;juf|r+Hd;-mnD-MCu zTr69{G_sDI>D2J275VCTQ3v4{v?OeDg@S8C+1i)ReG(p92`$=8q(?Hv`86hr6&d*EBOxLS` zx*+V5YXAtNxxlx7zaO(9PkZ`1%{9?VhAOOGD*}p`nWcr8^$X6rb{>7&pCteAqvyg! zUsHa6uidmpTJN4=&2iI-f{i_q3AKwgf|9^3^xyqp@@r9*K`(jkjob0gPDSWwL@nxC2UyN@1$A6wS z?fcE$)obgv+s4Y=>}uUz#OnA`ycwC~m~lmk1TbhA7=U5Ju%!{iLXIF-NCcq;4YGNd0gP;3 e6VN>5;0Bt9C8z_uS=m4~GXdcOAUzS}7zP0Og~CVx diff --git a/tests/general/widgets/bg-02-without_bg.wgt b/tests/general/widgets/bg-02-without_bg.wgt index ccbf1dffc0e14a53717ca413b66cc1272030eef2..df388cdfbe1d3e764729b586518a694e51f648b2 100644 GIT binary patch literal 725 zcmZ`%y-p)B5Do!OM`|9xa(PnLKtQ0#yGW6s$qBXyf(~tL45+b6^e=OdR* zT&ZQm%!D*}GL|EdoGYK3(hnqFas()!$9VSuoB|E)J`Gk?6;-{+6q0B+v*u=?zE=+d zxPJH!uVrM?*`PX`h-8qlYgw35^E8v9M@jt)QZ5`Tl=Tqy0ti_^Ay-;!3Xeiqpt1<< zAQ&`bOgM*3p`-#Pzc5KUw5HY1ti4ez3wG-ai4i+0r~Kl#ipH|LwbQMdY+Q~Z9TwPu z!x+y|7!~5SRE6M|U#db9I?F?neyQ#A^D7@hO~VScRho;tDECm?uqD8ljt##L7r5rV z#c)GX>M&7LF-kxlG)SWY@7hK>TxoBve&0~ww;nH#;h4AAvfeV;MhhDA@eNvYPCXs2 P{|K@+Obh2}JG|Zjbivnz literal 567 zcmWIWW@Zs#U|`^2D0CHZoHuVziXD*W4a8gwG7On{DXA5D86~+np&^_M%+u}|27qvB z1vdjD%L`@(1~9Stq{hj!8y^P+Z16ngzmmnU;S5i*_3|T6-h5f~=h7aL)`lZrLRu$X zc_h^O>CBWbSA?W%7ua~T+qrO0;5TDt2!Oj_Yl4a+ zbwTMR*8ng^b%Af6qaU*&kL&d_nrrfOHhM&DnY+yTVI(ZsdQ(9s{vXF@OK+76~EOjXx@?96V0% z*J^a#7+raKNloPXZFP&MPu!!{nL626v8L_V%9L*Qt;Z{O8Q)x+XlMQ3Z*5NHP75yg z#r5lzW0`(WTgCH~t;tH`!P;w=SnBHdpNh>*=qbF%o~EH2c&e;?|K-mq>&`xVDIMU= z$Rx*%D+(llLBYTP3=4)WjUX0sgs?&)1T8X<&BF{(Wb>MU<{<|!&^#fgc5KRfK)SP>P(`rxcAzso-2&Hzaexww&KqQI~r^?tg@46=VAdNeO;B=RthINoH*aR%%nr_*Pq!M@?%(}5QvIL7;aa0%R}23|Qe5-I z8xJ%80AFMTN^>a!+VNgc0wR(z7fC=rUY@pJ(Sx2}@;CuQ5G!;*Q)BWjV`W)-<(?;1 z!h~iHqNxLQ4gU&AIE7ZHMP#o<(0maNp*P5igbPh@nJ~*jgXs_h+K`UVDnx73$FvOy z^G||At0lfWKqvii5nn`|4=+6%>q_Jp`Km)n9!57| z0*?`tD7Y=Sg7|7qA*A=G_4WpHLhpXxxc`MB+hv8G<>a4TzP*@MeAYiaaob9OA()U@ zq1rauD4@r#&i3Ub2TG<@2h_mWFk9a~iPBJMFoA2(BQC>Dwo1+I&W_I<$f?g!W|E-{Ur>)k$wI{KNM=%X69phBD!b{Yd%aI?B1&#jVkNZA%azPQWs|y#5c>?F z)+4v?H`in$3!(vtNjc(CZ`^?()A`Cnts$=6UDJ>>0x`9r94iy#Nhgb`;X_ZfQ_x2Tc&mSKA+eq z6L6Hn|A^?@vocGB6qQ2dXD@%$7n?azt@-P2&$ZhGKdB}5D7@7XaBDhwcFPmy%oB&& z4VWuxqU)TNoJ%;mujS6xgQ~YhE=h{NyWNnn`Fcjks@qkoXNz(6%@X-xZ!JIPc*3r3 zeKXbbSN^rVKmR=cMNCr%$C8p~-P`70NSnENmbhWkXZtd-sS=OZgg^ZEYNgf(?Immd zS*A#zz9>9#GtZn@3Egs0>#W;59{Wg%7aGkqw&0j-R9Je6ce2 zV*osSCp5Y`J~MP_SqBX5-#`os-{kzfw9It93TXIVc$F96_8KF6W6y2uJ7mDa_F$%6 z>(jYyU96#=?rCkiB}02db(ZFN-r?T0eEF6RMsGQt+Hd)@Z+>6$L83{e-TdlGGqvY2 z&yp>V-SaS#_S~^B>gW6?&evZ?o3ZMoE|p!evt?(x=Y}oY6t|pO+z=GBVojv$#?5y% zycSJJdOqRk<;8nm3J7@Yy14lZUw!?#-@>z|#~Hsao5fUq+x8n@>a9szoH|P8TTa^l zFVKg(AYv+eOX}@?^K-h?K|baJ`j3I3FT}+W%zzS-Kpz+6l%{9q73(J!75b0^rhmw_f+#b=6J zi!+KT97v{sO?cvy6Ci+@Ap^V_ndF#pWorp=bO3WW!*xzCf{}AnXb8|mP_n`kBAAH^*~H06CW1`^B{2-sSlK|)!w!V; MKp$QO>S16201Fh?H2?qr diff --git a/tests/general/widgets/inst_nplug_2.wgt b/tests/general/widgets/inst_nplug_2.wgt index 95f3d692f6776747d3d926e093e65d20aee16176..96e719520db37a9f8d21a70654e505cf8ddc0c9d 100644 GIT binary patch literal 985 zcmaJ=&2G~`5KbFFN)DX*0Lz}*Lu{H}P-?qs+M=TH6G15A6uI_dud?2Cz2i9H);kxD zNW1{|z5qNKGqFqBAQ)@cyX(*M^L?}9QTxG8i|otmZ^N(Z$K&IzR*Oa#&myBg$;4S? z$~(e|%|&6Q(LUdIo^mF1WMZikpTD0x?>*y3fmg{m5x@|ut{)yCxO-C$rgm2*Kyu%6tHtO*kpH7jHS@JE&blcKrfln{2vfa@x$GL`wi;?TK z&A)vXdAAfAC1#|iwHIC9v-eu^iN$x;%nv{Ojp@4wlS!b)huy~QUAlXfOF~SZH}E`Z z&~mF#T9=vsTw!Ym=gMC>ab50ZpT#6MMbzI|XR7BoPi2j0${yxJE(Sa2PpeVjjr)<1 z#?bx!ssKoe=d9LE0sxY-hD)OH_zpyVhI{rtqHOFg<#cS1y9WSHZ z>zaGGWf`CTD3X_*SkAL2I!d`*)LLr!pF*{@{uVRONy@amH7cw%Vo_o_w*KOm!Yhwu zEN{gDW4uagb-HG0b?5t_k6&8Y3=>W^FFpS+*ZB8Lk#DLVMHQiU ztCEY(<<{k1w~+Q+HmODQ>#2B^`Y$v7onF`&6n3n&t$4?I9Zs*;5{Fjo;nGlTJvYnQ z#J?=c)l(#Bj?AWtTeny1F*c?|*`9v$;qj+`f7+h8%g_9~Be!vRRsUY+n^}{}I40(m z_dT(f7YSzM^MA|jbaUH&f4;NkATM(PJ;=bIknG|JWvwW)K-&`xPa{lGL^Fj0$rP{&|9~d6Vl#n}Nsbv;5|;qG37Fa$wlsp6$O)bmlHk#z zA;2499%f`Bo0kSO7CCBx=3$9ehE`*qf8EVKT g&POsaGz4fGC=4-7V`T${3=0rC0DbfjsE2_80M~e2y8r+H diff --git a/tests/general/widgets/inst_nplug_3.wgt b/tests/general/widgets/inst_nplug_3.wgt index 5d98267da5e6a7b432f502dbb1942157c523ae95..39693c996f5d1873b6fc918e1541de454c56562e 100644 GIT binary patch literal 1222 zcmaJ=O>fgc5KU=8YPt3Rx9y(VL%dYEpwv#)PqiwA9EyNbW$cN)sEUl?ix?n0JM!s>-W6o-Puh zjBpUc9jJ@)3sAs0barbZdmD_*SK$zP{j5x+GK?06Sr#Id!w?LzjxT12jdh>OMo{=) zfy@+9z@>^|{(&;VciMn=pa< z2+j()EoA}m^%6rA-kn{=gJlfj&MI_s0iC)y?pIu$PnRk44a&YX9GXjQyA+toa zZMM6BAGto;SK}Nwn|B>>gb@nc-yVz7urPpu6X;$nl$brn=5}Yt7Y^ju7p@q0Ied5g zi5VPcM8jv|BPn#L;&!AnU38NIKyhMr-A_Bc4{jnVi7B%bTJiEi=TKzhT1AL`K~U?F z+wb{+jdjTk0K-%gp7^E{C^nz3JTwO4+TDppK_f86vrzV0&kev%4@Wt<)olj3&em%q*s`3|MuYTFc_v*HqgJ zI?US^VKEd&4`CoP@Nk3=d%bLU4Z<66Q9Psj7b{OTS08?~b?WKFo)%BI>DQdWg`cFU yTufxsug2NkwpZJ9a=Q9hv&&W2UUs+b);67dZA57_|MZ!KuF>x=?LP_JYW)MFZcx7f literal 1425 zcmWIWW@Zs#U|`^2c-i3U$epaHD9y;guoZ~87-SeS^HNeP^fF3vb3#Kn8JMTO%nJbF z(h6<{MwS=M3=Ci*H1J>^lcI>t>+n4Vmkysg=p9^co_Y0{TJEi8-^t0IPP-njKs+rS0l^($*b6F307|itdwwutVQ^R50 zaD4k!ahF#-VQ->O#7f6(@>QH$_;4R@hgo&6+tOLr=kLm#_+W)+<4u{2%{n{xzOc?dWjuO5d09n=^NsKlQ#kIANA+R-ujWz#{&8B;o6PgWDSXIz)LIDdiM^RRRKzp@9w zgSWWR)lt9aoAo+iVE+bUQ1B+_=cQ$)>s3I5ch;-C01!qC-q>>+`wkiKusxV**ZOpB zTd;VDs_ab3cWEJ}VH>CHQZ3Z)SiXEq2cx%~PVKk+**Cv0DUfecX%D};(oF4n%(GQ8 z$@wZXdsXfPto@_#^FrybX}*l!k(umS=MvvV3hAuPt}Y&U3TDZS^r+=ncGy>3Mk!8>wBXAU*s~A z%)cq@EvdKn&Clsl2llNpN z(^rpIZh!!0`a&4_2AD>Xjg&w$vN%6CH7zqIRj;I?1Z?6QplM6+naBu?7Gx87&`boI zatLU`VSJ{zwK$`g!hvK8*n}rOIoN&1$Rx*%EB{G=9mWVGw={y7$hnafk{i*IN`N=Q zJj?`#Y+gLjSmfjfG!IMCgP4aaIw9tPT(+e#kck0bvML6MHfM9e5hHqi!HHp0?6*fdZAz%Y%K4HS56 OK=>CJ9d$rG3=9BbO|Sa^ diff --git a/tests/general/widgets/inst_nplug_4.wgt b/tests/general/widgets/inst_nplug_4.wgt index 9275ccace14670cb80b1541b5f03647032e2b23f..78dcecc58248860e7c41e04eb21746ef2ee196cd 100644 GIT binary patch literal 1104 zcmaJ=&u`N(6z(V>ZC7^Tfb{TbJ2VEZLa0kRt=-V1jnP9nY?t9CUSc)1gY7IWNJtY` z{sAsr_!lN|;9ujwbKR(05qpsnJO2EBeBblnxcP9i;q2S#_uhwRKfdg*H5zVg;J;YO zOOXcCNgnRu3$C~}Ldl4{3|3{EB;^(mD@{Z)Yl{x0RaFJm zPM~y3rJ){ThzE77_{7oS0y44?NLOY~$#KwAv zX$h*&KL9h`x&vm9v{As?w$rA%6}%9ZXQ4Fq{z53`+aPpdJPuxN{gXgqlyQrvWy!o7!? zFg3~CR%EE}(GV=tO0aK0=p$#z2=liI?s&Grx0Sw?ikFC-(=bNH)N1U@T)2N1@ z<4VY)v|y1pETFVjNdijtu>-~tsZb471#zwn-`d_KaK-WxfrnFJ0sF+Y&D24{KD^71UDLg0rFZoK>z>% literal 1420 zcmWIWW@Zs#U|`^2Fllsk6s}(UM~;z!VK)$SF~~4v=B1=o=w+1T=7ffDGB7K@$_sD< z;?fFk21b?_%nS@*!Z*-1|FD9<+{y8Usa|Z;7s{?Ww(Uwyh-B2(X6qD{0xk`f7>h?w z?u#GaB&8zY|Gx13yTH8J=liR;DyQB)d%J4Ky$7704Qg53e|(?CY@Ax&(%1FumJ+k& zf-b?hj%=%&tRA{fF01NheSg$?_o|Y!*z5e+e8*f*%x>A*)Kl&t!I^gc^CbR73&rhB zj2oU_uVSCLPE327_@@dEJIhdy{MriM6`L-n1ie~bCHY5Cw!}?#f}3;*zv}sv^_jmn zUsUUxwW4+t*Btd5kNuTqMf>d%6=*`L4VCCL7eHCpG( zGNt%5vx?GtiHhx;+~l;cNiMJXuCcb?Vz$1-oL1k+9Xn^_+}hUDKl6*_mCJL^zCHhs zApjo2xxf(qIMHy@24Hyq24YYMC+Fv-Wv1&@Kts3}7`h;g7Q(UT4rU!T;9-04`ICs# z_gk`W6IrZ}&nu5OuY5#F)WR!kb@9u~=Y3D{3BOSIu_S(7frRHnJJ*wP`m4ONb2X1n zX`XpGL-lrV%AJ7Ke-wT$e*GoBjQ2{>CI2h6$8MjPv~b%u!*8cHHw1-QSnck5c9wUu zMyHcsv->oM^5Tn{N)vdB6C`ct?f2Wwzr}xV+P1%&T;#S@%h;USr20}&@#5EGork{j zFO6wDUcT9V#qD=rQ?CDE0{NK>=tBmEz7Q8jFat_R0{vW&Q<|QcSFE2{l&hbXn4JpY z>lNpN6IqW}Zos*h7(swAauF~Xk&P5aGqSieDJ8Q=A8gorU|4d##$(uWG{bn%3ViIB=$Yom^!X+N THc+^+0pSl|Ow7E7>yAhmEWeJP3*B#0C%EwuVnTH2<4u=v!bf4+Yk|LX83&i(CpIOOeg$FDc!$)3 z5pi_apiWW6qa#mm-;MiIN|_o(!jVa6(c~)b?Ex4yRBUqY^~o|Pj7vp^f+F>4o@Y@VP_7e@W!NMKc9_pU`+_MoQ;3nL=_Rd5RJ^i_kxvdy zP@fntuOg-#6iS=mP*p^1jan*h8rox1rb_`2b)RUQNDxzryPlvUMy5{+EziuQn)dQ`MQe5ACp5yNuE>0jj&*u6NiT&#~>BS$Sg+onQOCk*w8j?(>HZ9-fb@_`=Sat7n(jcO1WS_pd+i{C08EB_6*SyFJ&j zYhw<7IQ`@0xmU&>y%s-r`=zCmYquSY{(Pz4wfU2yZ;Y3s%TIn)Tg<=xV)ROWjq~15 zch7WR{G)tyEUN9_n)y9H-@_MfbZ7Y4bN=GK_p@)EoZS3P;`EV;$3A`a&E<7_wk_ae zvFlGvUHjqnU*4Vl?$pM`Z*yDIAB^AIk~govb7N{ds;$3T&+Pu<%QL~ln;jg^ETqRy zQi-i)mPZjuGe0?6}|r0zmzgJ6cw3FiO+ literal 1386 zcmWIWW@h1H00FToMn^CMO0Y4=Fk~j@=N0RRhHx@4TkA*$%Q~XSL>Mz)str(c+037C;3k-&$$^C7QNKYO-xTBv%#{Diqh>hDUq=lkhAUdrLINu|$OV!YIRHLad*K2+@I zz4VK2U*D{td2_c4|KqTHu_ky`x~1~9ibs*ZXR}_G+uk*Qm+XS4TZ~?I`?wsN`SZC{ zspzg2{`|s?I|?cnaa>U6nYXS^@AVv^Sqz9k{vJ8maohXzRTF>#+yaaPE?^)7<0vgN zU9TcH2OPSWCSMEyVYG-^8hkqMjsee}_u&G&+;1(Jo{(tm+wdi9LHiRK4zufGi^5&= z_MSBSKka|l6ZbfWZU$3@1B=oulqapy>pOQy-Y2DL{n3?oxE$`co%^v*Y`eL=-?^i% zn{S3Jep!`rBEx^H#Ei#&D+^_w{_t(PqV1p6Hi6;tUL}c6)l7Hx`=`xzur8VNEp7h! zyiY_TM4r-WN?W(7ree{#>#T-~!zeDi6Uv@d%aYTDf`H*7wwsW|;p z!}y-QOATVWIPN71VQK!6ZR9|k8Ms!%HT{=y$*rQAv_b_Qn9iqi%sYW5j7DS3a zySE{TxotwVt4GWoH%D4f5g|>2Fi|)%hYWR31U>}fIFhZ#Q6wv1b){&i42!a-5h;0b|%5itn);b(5;<7>`<|q`k#V9q1qjeo zax-|fu{B)XTk7rTW12?TKE$qsKQThU$?Jr2;=GuV0kVvOiq@={o;yF@eJE*~dX$*x z_--a*O8=y$MD#N?Rg9}^k6OKFopqot4s;GycOJF?tRnPesfEy5Zw)-%>h10TDM!#1 zoZ14R^)}2}J5s`wXnOm33+gH~o2Guf8fSsJBOFOgBdhdR+0`43MxG;+UDL-({zR&H zJS%A75$xpCOml(?pIAL5CBkGIiGkEsN~U}QBCtHEh^p$Mk4#ultE!lkA4=uQM`4p} zAVYx^>Sf!*JSM`-?+=U^f+kRmm!Wf907PnDmnY7Gtx9FKd-U>HjTD{eA;5|-g2I^vHm=lY1zC&os!v8 zGcOBi|E^|wu2hk!wExwgFWa|8_}#itSjPwoKrUdAF)*+-ue8eyJ6QflfPn#oIY0rJ zoS&yxke3b)KAxY)eSe|`A2|FrtF!(SsE5VF8dn#`JDmEn@_=!0oCy*SKvU8()AcH# z@z7$B8}JR)AW&qq2A%XfY#^}ryS7d|m(z{JcoFsh);TK#TKP9j%1nBAW16kv+xw4A z-W}qc|7Pa)p80C^5nE^dY2ZI4WoVmRe{)KMX6{lS-DUCf^_OqI+@3V)`>Iupo-DH! zGMZn!vwZ)1-dFK6zh=!o;O?S zWuo{o#>RAdi;sa>31iRRE|w6*V(C7u_-k5PsxX+3l8^M249Z7WgcE4 zU9{)Zkq!fv=FSwYh>dK~zMSh~&%{}Y%RUhhkLT^3yrW*sdXtVfN2A1nd%yA>FP1xW zUXEScc2#nI_wwyWum73qsard{E4uMqsL+3Z%|oBJ6d!#ej);4f+zoc%L;xjNfN`H( zT&xd{cM0B$zMn9oE5MtPNsbwo`RdVgp9I(_U?N~>Xaq5l^CBxGFQVl`h=I5gBg8zA zNpBnNfyN?|CeSpVpY_Lmu^I<)A7-LNc3!Oz0|Rmr1sVuSqFBv?I1e+toM7$~V0i1O e5405$d_bc>!G~cKD;vlsEI?=h^h++tl?(te8?KK4 diff --git a/tests/general/widgets/tizen_app-control/config.xml b/tests/general/widgets/tizen_app-control/config.xml new file mode 100755 index 0000000..b2aa6af --- /dev/null +++ b/tests/general/widgets/tizen_app-control/config.xml @@ -0,0 +1,28 @@ + + app-control + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/general/widgets/tizen_appservice_disposition/icon.png b/tests/general/widgets/tizen_app-control/icon.png similarity index 100% rename from tests/general/widgets/tizen_appservice_disposition/icon.png rename to tests/general/widgets/tizen_app-control/icon.png diff --git a/tests/general/widgets/tizen_appservice_disposition/index.htm b/tests/general/widgets/tizen_app-control/index.htm similarity index 100% rename from tests/general/widgets/tizen_appservice_disposition/index.htm rename to tests/general/widgets/tizen_app-control/index.htm diff --git a/tests/general/widgets/tizen_appservice_disposition/config.xml b/tests/general/widgets/tizen_appservice_disposition/config.xml deleted file mode 100755 index 4544234..0000000 --- a/tests/general/widgets/tizen_appservice_disposition/config.xml +++ /dev/null @@ -1,12 +0,0 @@ - - Disposition_attribute - - - - - - - -- 2.7.4