From 212ff5e8c1017936cd0652e5f74146865ca9c102 Mon Sep 17 00:00:00 2001 From: Sangyoon Jang Date: Fri, 6 Jan 2017 13:55:10 +0900 Subject: [PATCH 01/16] Make wgt lib support hybrid package Change-Id: Id0fe7f2ed6a736104f1683547fe80a0010662b6a Signed-off-by: Sangyoon Jang --- src/lib/wgt_archive_info.cc | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/src/lib/wgt_archive_info.cc b/src/lib/wgt_archive_info.cc index 4ae49df..5e95b1f 100644 --- a/src/lib/wgt_archive_info.cc +++ b/src/lib/wgt_archive_info.cc @@ -30,6 +30,7 @@ namespace { const char kVconfLanguageKey[] = "db/menu_widget/language"; const char kConfigFileName[] = "config.xml"; +const char kHybridConfigFileName[] = "res/wgt/config.xml"; bool ExtractPackageArchive(const char* file_path, const char* file, const bf::path& tmp_dir) { @@ -177,11 +178,22 @@ bool WgtArchiveInfo::GetArchiveInfo(const char* file_path, if (!ci::CreateDir(tmp_dir)) return false; LOG(DEBUG) << "Unpack at temporary dir: " << tmp_dir; - if (!ExtractPackageArchive(file_path, kConfigFileName, tmp_dir)) + bool is_hybrid = false; + if (!ExtractPackageArchive(file_path, kHybridConfigFileName, tmp_dir)) return false; + if (bf::exists(tmp_dir / kHybridConfigFileName)) { + is_hybrid = true; + } else { + if (!ExtractPackageArchive(file_path, kConfigFileName, tmp_dir)) + return false; + } wgt::parse::WidgetConfigParser parser; - bf::path manifest_path = tmp_dir / kConfigFileName; + bf::path manifest_path; + if (is_hybrid) + manifest_path = tmp_dir / kHybridConfigFileName; + else + manifest_path = tmp_dir / kConfigFileName; if (!parser.ParseManifest(manifest_path)) { LOG(ERROR) << "Failed to parse"; bf::remove_all(tmp_dir); @@ -197,11 +209,16 @@ bool WgtArchiveInfo::GetArchiveInfo(const char* file_path, LOG(WARNING) << "Failed to get privileges info"; std::string icon = GetIconInfo(parser); if (!icon.empty()) { - if (!ExtractPackageArchive(file_path, icon.c_str(), tmp_dir)) { + std::string icon_path; + if (is_hybrid) + icon_path = "res/wgt/" + icon; + else + icon_path = icon; + if (!ExtractPackageArchive(file_path, icon_path.c_str(), tmp_dir)) { bf::remove_all(tmp_dir); return false; } - if (!ReadIcon(icon, tmp_dir, info)) { + if (!ReadIcon(icon_path, tmp_dir, info)) { LOG(WARNING) << "Failed to get icon info"; bf::remove_all(tmp_dir); return false; -- 2.7.4 From d9bf183ff9205d5b5982ad9834f9103fea4e0679 Mon Sep 17 00:00:00 2001 From: Sangyoon Jang Date: Tue, 10 Jan 2017 14:45:35 +0900 Subject: [PATCH 02/16] Rollback xml keep blanks support after parsing hybrid manifest Hybrid installer set default blanks text node support off for generating/merging manifest. However, this may cause unexpected result at other library which is using libxml2. So hybrid installer should rollback this support. This patch fixes smoke test failures. Change-Id: I89aa9b99a30e5068e93f44415829f94abca0ff40 Signed-off-by: Sangyoon Jang --- src/hybrid/step/pkgmgr/step_generate_xml.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/hybrid/step/pkgmgr/step_generate_xml.cc b/src/hybrid/step/pkgmgr/step_generate_xml.cc index 8ab0826..df049ff 100644 --- a/src/hybrid/step/pkgmgr/step_generate_xml.cc +++ b/src/hybrid/step/pkgmgr/step_generate_xml.cc @@ -51,17 +51,20 @@ namespace pkgmgr { bool StepGenerateXml::LoadXmlDocument(const bf::path& wgt_xml_path, const bf::path& tpk_xml_path) { // trim blanks - xmlKeepBlanksDefault(0); + int keep_blanks = xmlKeepBlanksDefault(0); wgt_doc_ = xmlParseFile(wgt_xml_path.string().c_str()); if (!wgt_doc_) { LOG(ERROR) << "Failed to parse file: " << wgt_xml_path; + xmlKeepBlanksDefault(keep_blanks); return false; } tpk_doc_ = xmlParseFile(tpk_xml_path.string().c_str()); if (!tpk_doc_) { LOG(ERROR) << "Failed to parse file: " << tpk_xml_path; + xmlKeepBlanksDefault(keep_blanks); return false; } + xmlKeepBlanksDefault(keep_blanks); return true; } -- 2.7.4 From 9c8370bf0a1c93f4506d8afa60a26c2c62b91586 Mon Sep 17 00:00:00 2001 From: Sangyoon Jang Date: Wed, 11 Jan 2017 11:23:31 +0900 Subject: [PATCH 03/16] Fix StepWgtPatchIcons Set package's icon as same as app's icon. We don't need icon file named as pkgid. Change-Id: I11ed3246c7b1db29b29f357491beb4a67ebfb585 Signed-off-by: Sangyoon Jang --- src/wgt/step/filesystem/step_wgt_patch_icons.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/wgt/step/filesystem/step_wgt_patch_icons.cc b/src/wgt/step/filesystem/step_wgt_patch_icons.cc index 1a5b3cb..9eaa321 100644 --- a/src/wgt/step/filesystem/step_wgt_patch_icons.cc +++ b/src/wgt/step/filesystem/step_wgt_patch_icons.cc @@ -55,7 +55,8 @@ common_installer::Step::Status StepWgtPatchIcons::process() { bf::create_directories(common_icon_location, error); for (icon_x* icon : GListRange(context_->manifest_data.get()->icon)) { - bf::path icon_path = common_icon_location / context_->pkgid.get(); + bf::path icon_path = common_icon_location / + context_->manifest_data.get()->mainapp_id; if (!PatchIcon(icon, icon_path)) return Status::ICON_ERROR; } -- 2.7.4 From fb47079ad387af13d312dbefc0569d405a3497c6 Mon Sep 17 00:00:00 2001 From: Bartlomiej Kunikowski Date: Tue, 17 Jan 2017 13:35:18 +0100 Subject: [PATCH 04/16] Fix for rollback of some update modes This patch solves problem with rollback modes of delta mode and manifest direct update mode for hybrid packages Change-Id: I1ece447536fa9ad6dd7a36d54b7340663188bc7c (cherry picked from commit 6cca2243df10c828153fbd437362bda6c7222fb7) --- src/hybrid/hybrid_installer.cc | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/hybrid/hybrid_installer.cc b/src/hybrid/hybrid_installer.cc index 6d3ec58..eca31a4 100644 --- a/src/hybrid/hybrid_installer.cc +++ b/src/hybrid/hybrid_installer.cc @@ -255,7 +255,6 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep(); AddStep(); - AddStep(); AddStep(); AddStep(); AddStep(); @@ -442,7 +441,6 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH); AddStep(); AddStep(); - AddStep(); AddStep( ci::configuration::StepParseManifest::ManifestLocation::INSTALLED, ci::configuration::StepParseManifest::StoreLocation::BACKUP); -- 2.7.4 From fd5d302cd3fab2abcf1e20b4ad015465ad9baf2e Mon Sep 17 00:00:00 2001 From: Bartlomiej Kunikowski Date: Mon, 2 Jan 2017 14:33:54 +0100 Subject: [PATCH 05/16] Fix in StepWgtPatchStorageDirectory There is one bug in checking if directory is created, and second one in comment to this step Change-Id: I02331ed4b40d3be9be4f217eb842a89f8b9bdfcb (cherry picked from commit bbed89f23a2d930cf87b1f71c2fc7131e5967131) --- src/wgt/step/filesystem/step_wgt_patch_storage_directories.cc | 2 +- src/wgt/step/filesystem/step_wgt_patch_storage_directories.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/wgt/step/filesystem/step_wgt_patch_storage_directories.cc b/src/wgt/step/filesystem/step_wgt_patch_storage_directories.cc index b14c333..2e897b8 100644 --- a/src/wgt/step/filesystem/step_wgt_patch_storage_directories.cc +++ b/src/wgt/step/filesystem/step_wgt_patch_storage_directories.cc @@ -43,7 +43,7 @@ bool StepWgtPatchStorageDirectories::ShareDirFor3x() { bf::path shared_dir = context_->pkg_path.get() / kSharedLocation; if (!bf::exists(shared_dir)) { bs::error_code error; - bf::create_directory(shared_dir); + bf::create_directory(shared_dir, error); if (error) { LOG(ERROR) << "Failed to create directory: " << shared_dir; return false; diff --git a/src/wgt/step/filesystem/step_wgt_patch_storage_directories.h b/src/wgt/step/filesystem/step_wgt_patch_storage_directories.h index f4ab56f..035936b 100644 --- a/src/wgt/step/filesystem/step_wgt_patch_storage_directories.h +++ b/src/wgt/step/filesystem/step_wgt_patch_storage_directories.h @@ -14,7 +14,7 @@ namespace filesystem { /** * \brief Installation (WGT). * Responsible for copying widgets shared/ directory into package's - * shared/ directory for tizen widget with api version > 3.0 + * shared/ directory for tizen widget with api version >= 3.0 */ class StepWgtPatchStorageDirectories : public common_installer::Step { -- 2.7.4 From 05527af438942b29c3b4470a88bebb7449da02d9 Mon Sep 17 00:00:00 2001 From: Junghyun Yeon Date: Thu, 16 Feb 2017 13:02:28 +0900 Subject: [PATCH 06/16] Fix smoke test - Fix reinstall smoke test to work properly Related changes : [app-installers] : https://review.tizen.org/gerrit/114699 Change-Id: I682859a7093ca5981aad1b74ced17ff2f09a85bd Signed-off-by: Junghyun Yeon --- src/unit_tests/smoke_test.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/unit_tests/smoke_test.cc b/src/unit_tests/smoke_test.cc index bbcc1ec..b3b8475 100644 --- a/src/unit_tests/smoke_test.cc +++ b/src/unit_tests/smoke_test.cc @@ -715,7 +715,7 @@ TEST_F(SmokeTest, RDSMode) { std::string appid = "smokeapp11.RDSMode"; bf::path delta_directory = kSmokePackagesDirectory / "delta_dir/"; bf::path sdk_expected_directory = - bf::path(ci::GetRootAppPath(false, kTestUserId)) / "tmp" / pkgid; + bf::path(tzplatform_getenv(TZ_SDK_TOOLS)) / "tmp" / pkgid; bs::error_code error; bf::create_directories(sdk_expected_directory.parent_path(), error); ASSERT_FALSE(error); -- 2.7.4 From ef08869c746ea8c88fc5c5e3f5eb55e8c5e3f2ed Mon Sep 17 00:00:00 2001 From: jongmyeongko Date: Thu, 2 Mar 2017 23:02:04 +0900 Subject: [PATCH 07/16] Add signature check step in RW partial request The certificate info was not stored properly in cert db. Require : https://review.tizen.org/gerrit/#/c/117077/ Change-Id: I71f8d0c5704275d8e167ff7303bc73d66b1efa4a Signed-off-by: jongmyeongko --- src/hybrid/hybrid_installer.cc | 3 +++ src/wgt/wgt_installer.cc | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/hybrid/hybrid_installer.cc b/src/hybrid/hybrid_installer.cc index eca31a4..a38edf1 100644 --- a/src/hybrid/hybrid_installer.cc +++ b/src/hybrid/hybrid_installer.cc @@ -466,6 +466,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) wgt::configuration::StepParse::ConfigLocation::INSTALLED, true); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep(); AddStep(); @@ -486,9 +487,11 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) wgt::configuration::StepParse::ConfigLocation::INSTALLED, true); AddStep(); AddStep(); + AddStep(); AddStep( ci::configuration::StepParseManifest::ManifestLocation::INSTALLED, ci::configuration::StepParseManifest::StoreLocation::BACKUP); + AddStep(); AddStep(); AddStep(); AddStep(); diff --git a/src/wgt/wgt_installer.cc b/src/wgt/wgt_installer.cc index 337f446..0590038 100755 --- a/src/wgt/wgt_installer.cc +++ b/src/wgt/wgt_installer.cc @@ -521,6 +521,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep( wgt::configuration::StepParse::ConfigLocation::INSTALLED, true); AddStep(); + AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT); AddStep(); @@ -541,9 +542,11 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep( ci::configuration::StepParseManifest::ManifestLocation::INSTALLED, ci::configuration::StepParseManifest::StoreLocation::BACKUP); + AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT); AddStep(); + AddStep(); AddStep(); AddStep(); AddStep(); -- 2.7.4 From ac5f021f9a6471f9e55eb6d95e8fef85b80559da Mon Sep 17 00:00:00 2001 From: Piotr Dabrowski Date: Mon, 19 Sep 2016 15:43:16 +0200 Subject: [PATCH 09/16] Reworked sharing of widget's shared/res directory. ./res/wgt/shared/res directory content was moved to ./shared/res and then ./res/wgt/shared/res was symlinked to ./shared/res This broke signatures check for delta update. Now all items (files and directories) under ./res/wgt/shared/res are symlinked into ./shared/res, and vice versa. During delta update these symlinks are removed, so that the signatures check can complete successfully, and later the symlinks are recreated again. Added smoke tests for symlinking shared/res contents in Tizen 3.0 Change-Id: I9423d78aba5cb338b14a9f8853754e0fa8980e0c --- src/hybrid/hybrid_installer.cc | 2 + src/unit_tests/smoke_test.cc | 71 ++++++++++++++++ src/unit_tests/test_samples/smoke/SharedRes24.wgt | Bin 0 -> 38439 bytes src/unit_tests/test_samples/smoke/SharedRes30.wgt | Bin 0 -> 38419 bytes .../test_samples/smoke/SharedRes30Delta.delta | Bin 0 -> 6053 bytes .../test_samples/smoke/SharedRes30Delta.wgt | Bin 0 -> 38431 bytes .../test_samples/smoke/SharedRes30Delta_2.wgt | Bin 0 -> 38431 bytes .../test_samples/smoke/SharedRes30Hybrid.wgt | Bin 0 -> 64163 bytes .../smoke/SharedRes30HybridDelta.delta | Bin 0 -> 8044 bytes .../test_samples/smoke/SharedRes30HybridDelta.wgt | Bin 0 -> 64231 bytes .../smoke/SharedRes30HybridDelta_2.wgt | Bin 0 -> 64232 bytes .../step_wgt_patch_storage_directories.cc | 87 +++++++++++++------ .../step_wgt_patch_storage_directories.h | 5 +- .../step_wgt_undo_patch_storage_directories.cc | 94 +++++++++++++++++++++ .../step_wgt_undo_patch_storage_directories.h | 39 +++++++++ src/wgt/wgt_installer.cc | 2 + 16 files changed, 274 insertions(+), 26 deletions(-) create mode 100644 src/unit_tests/test_samples/smoke/SharedRes24.wgt create mode 100644 src/unit_tests/test_samples/smoke/SharedRes30.wgt create mode 100644 src/unit_tests/test_samples/smoke/SharedRes30Delta.delta create mode 100644 src/unit_tests/test_samples/smoke/SharedRes30Delta.wgt create mode 100644 src/unit_tests/test_samples/smoke/SharedRes30Delta_2.wgt create mode 100644 src/unit_tests/test_samples/smoke/SharedRes30Hybrid.wgt create mode 100644 src/unit_tests/test_samples/smoke/SharedRes30HybridDelta.delta create mode 100644 src/unit_tests/test_samples/smoke/SharedRes30HybridDelta.wgt create mode 100644 src/unit_tests/test_samples/smoke/SharedRes30HybridDelta_2.wgt create mode 100644 src/wgt/step/filesystem/step_wgt_undo_patch_storage_directories.cc create mode 100644 src/wgt/step/filesystem/step_wgt_undo_patch_storage_directories.h diff --git a/src/hybrid/hybrid_installer.cc b/src/hybrid/hybrid_installer.cc index a38edf1..a999f4a 100644 --- a/src/hybrid/hybrid_installer.cc +++ b/src/hybrid/hybrid_installer.cc @@ -88,6 +88,7 @@ #include "wgt/step/filesystem/step_create_symbolic_link.h" #include "wgt/step/filesystem/step_wgt_patch_icons.h" #include "wgt/step/filesystem/step_wgt_patch_storage_directories.h" +#include "wgt/step/filesystem/step_wgt_undo_patch_storage_directories.h" #include "wgt/step/pkgmgr/step_generate_xml.h" #include "wgt/step/security/step_check_settings_level.h" #include "wgt/step/security/step_check_wgt_background_category.h" @@ -235,6 +236,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep( ci::configuration::StepParseManifest::ManifestLocation::PACKAGE, ci::configuration::StepParseManifest::StoreLocation::NORMAL); + AddStep(); AddStep(); AddStep( ci::configuration::StepParseManifest::ManifestLocation::INSTALLED, diff --git a/src/unit_tests/smoke_test.cc b/src/unit_tests/smoke_test.cc index b3b8475..1ee6037 100644 --- a/src/unit_tests/smoke_test.cc +++ b/src/unit_tests/smoke_test.cc @@ -1162,6 +1162,77 @@ TEST_F(SmokeTest, MigrateLegacyExternalImageMode) { ValidateExternalPackage(pkgid, {appid}); } +TEST_F(SmokeTest, SharedRes24) { + bf::path path = kSmokePackagesDirectory / "SharedRes24.wgt"; + std::string pkgid = "smokeSh2xx"; + std::string appid = "smokeSh2xx.SharedRes24"; + ASSERT_EQ(Install(path, PackageType::WGT), ci::AppInstaller::Result::OK); + ValidatePackage(pkgid, {appid}); + bf::path root_path = ci::GetRootAppPath(false, kTestUserId); + ASSERT_TRUE(bf::is_regular_file(root_path / pkgid / "res" / "wgt" / "shared" / "res" / "NOT-SHARED-WGT")); // NOLINT + ASSERT_FALSE(bf::exists(root_path / pkgid / "shared" / "res" / "NOT-SHARED-WGT")); // NOLINT +} + +TEST_F(SmokeTest, SharedRes30) { + bf::path path = kSmokePackagesDirectory / "SharedRes30.wgt"; + std::string pkgid = "smokeSh3xx"; + std::string appid = "smokeSh3xx.SharedRes30"; + ASSERT_EQ(Install(path, PackageType::WGT), ci::AppInstaller::Result::OK); + ValidatePackage(pkgid, {appid}); + bf::path root_path = ci::GetRootAppPath(false, kTestUserId); + ASSERT_TRUE(bf::is_regular_file(root_path / pkgid / "res" / "wgt" / "shared" / "res" / "SHARED-WGT")); // NOLINT + ASSERT_TRUE(bf::is_symlink(root_path / pkgid / "shared" / "res" / "SHARED-WGT")); // NOLINT +} + +TEST_F(SmokeTest, SharedRes30Delta) { + bf::path path = kSmokePackagesDirectory / "SharedRes30Delta.wgt"; + bf::path delta_package = kSmokePackagesDirectory / "SharedRes30Delta.delta"; + std::string pkgid = "smokeSh3De"; + std::string appid = "smokeSh3De.SharedRes30Delta"; + ASSERT_EQ(DeltaInstall(path, delta_package, PackageType::WGT), + ci::AppInstaller::Result::OK); + ValidatePackage(pkgid, {appid}); + // Check delta modifications + bf::path root_path = ci::GetRootAppPath(false, kTestUserId); + ASSERT_TRUE(bf::is_regular_file(root_path / pkgid / "res" / "wgt" / "shared" / "res" / "SHARED-WGT-2")); // NOLINT + ASSERT_TRUE(bf::is_symlink(root_path / pkgid / "shared" / "res" / "SHARED-WGT-2")); // NOLINT + ASSERT_FALSE(bf::exists(root_path / pkgid / "res" / "wgt" / "shared" / "res" / "SHARED-WGT-1")); // NOLINT + ASSERT_FALSE(bf::exists(root_path / pkgid / "shared" / "res" / "SHARED-WGT-1")); // NOLINT +} + +TEST_F(SmokeTest, SharedRes30Hybrid) { + bf::path path = kSmokePackagesDirectory / "SharedRes30Hybrid.wgt"; + std::string pkgid = "smokeSh3Hy"; + std::string appid1 = "smokeSh3Hy.SharedRes30Hybrid"; + std::string appid2 = "smokeSh3Hy.sharedres30hybridserivce"; + ASSERT_EQ(Install(path, PackageType::HYBRID), ci::AppInstaller::Result::OK); + ValidatePackage(pkgid, {appid1, appid2}); + bf::path root_path = ci::GetRootAppPath(false, kTestUserId); + ASSERT_TRUE(bf::is_regular_file(root_path / pkgid / "res" / "wgt" / "shared" / "res" / "SHARED-WGT")); // NOLINT + ASSERT_TRUE(bf::is_symlink(root_path / pkgid / "shared" / "res" / "SHARED-WGT")); // NOLINT + ASSERT_TRUE(bf::is_regular_file(root_path / pkgid / "shared" / "res" / "SHARED-TPK")); // NOLINT + ASSERT_TRUE(bf::is_symlink(root_path / pkgid / "res" / "wgt" / "shared" / "res" / "SHARED-TPK")); // NOLINT +} + +TEST_F(SmokeTest, SharedRes30HybridDelta) { + bf::path path = kSmokePackagesDirectory / "SharedRes30HybridDelta.wgt"; + bf::path delta_package = kSmokePackagesDirectory / "SharedRes30HybridDelta.delta"; + std::string pkgid = "smokeSh3HD"; + std::string appid1 = "smokeSh3HD.SharedRes30HybridDelta"; + std::string appid2 = "smokeSh3HD.sharedres30hybriddeltaserivce"; + ASSERT_EQ(DeltaInstall(path, delta_package, PackageType::HYBRID), + ci::AppInstaller::Result::OK); + ValidatePackage(pkgid, {appid1, appid2}); + // Check delta modifications + bf::path root_path = ci::GetRootAppPath(false, kTestUserId); + ASSERT_TRUE(bf::is_regular_file(root_path / pkgid / "res" / "wgt" / "shared" / "res" / "SHARED-WGT-2")); // NOLINT + ASSERT_TRUE(bf::is_symlink(root_path / pkgid / "shared" / "res" / "SHARED-WGT-2")); // NOLINT + ASSERT_TRUE(bf::is_regular_file(root_path / pkgid / "shared" / "res" / "SHARED-TPK-2")); // NOLINT + ASSERT_TRUE(bf::is_symlink(root_path / pkgid / "res" / "wgt" / "shared" / "res" / "SHARED-TPK-2")); // NOLINT + ASSERT_FALSE(bf::exists(root_path / pkgid / "res" / "wgt" / "shared" / "res" / "SHARED-WGT-1")); // NOLINT + ASSERT_FALSE(bf::exists(root_path / pkgid / "shared" / "res" / "SHARED-WGT-1")); // NOLINT +} + } // namespace common_installer int main(int argc, char** argv) { diff --git a/src/unit_tests/test_samples/smoke/SharedRes24.wgt b/src/unit_tests/test_samples/smoke/SharedRes24.wgt new file mode 100644 index 0000000000000000000000000000000000000000..782e7e924926614c53ed245162d280fe3ce58219 GIT binary patch literal 38439 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 literal 0 HcmV?d00001 diff --git a/src/unit_tests/test_samples/smoke/SharedRes30.wgt b/src/unit_tests/test_samples/smoke/SharedRes30.wgt new file mode 100644 index 0000000000000000000000000000000000000000..e2358416c2c4e0f211fca86559fab178b1395520 GIT binary patch literal 38419 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 literal 0 HcmV?d00001 diff --git a/src/unit_tests/test_samples/smoke/SharedRes30Delta.delta b/src/unit_tests/test_samples/smoke/SharedRes30Delta.delta new file mode 100644 index 0000000000000000000000000000000000000000..26e28bf6b90899997e32454a0faaec8d27b89c86 GIT binary patch literal 6053 zcmb7|WmHw`)_^x59a17)3Y#urBV8Nm1}W)HN#{no8|m6KN|%&$_ok7M4iONf8-a`G z-0z;_9p5?k-m%6T>&JS=`_8$3Jaa0`At4h2001<=s56fgD$R>I4s-y3i2wi~1ds!a zT%0ZJ99f+#&25dGT^u27P#bFvb#wrdhCrM8&*1{a1Rx;ae-HR=YSH=}o!5`=b^fxZ z(Ircn2zJQz&6ZI+iqnkq8cu{VWXxOLHG^BeS6sBTCoki6)e*-XCWyztrDO^e$z0=b zgVkXyVQZ(&WG%f=P`gFw@>&)-yD(7+;s~Zji?m+-++MMM&~@$Be77xR0V^!jPinhs zzJO983uhUGyNfos$M$8ydgJH2!E7kiEq6HYj8u9Q5^g#PF!K5rCnY$bxRi}UBF%R{ z@NS>azD!oSz2g+D@}xhCA<{U=DP9cWcjPp7aXX<{+7-iQ6C?Vff1vpCQfa@1wyk@0 z9m~O7zRyS*WOpJI;B^6Ce;rCJ*`+YQa%}phB!=dKEc2v^G1Q6&e5N8PN?yQ1wjWbO z);(TEW)PH>>DOAS=NV|Qc8ea;c#GRRJ)DB__V~^xEA%^FWlYD!m9ch6SpGwJS2ChA z_#s-dR%SzSsR>1`3;G2JFKlxW%5r?LZ0>s{-NDxcOP3gQPUrKUVbBc|ep_Nh7Hr*O z^M3BTW|(K`axb-$`J_824T^Dew>G<Og^GHp30T2X7=k*-3Ut?ZIpvk!0n)X+{$9NVGSJr5!*@+@-*;eZ}z zz)OG&G(r`>OdUlz+_Mq%TI(a9GSn6mDG)9>iBvt@Waz@^>Wm$_qmR7{`jC?G(oclD zC^LG-5>-9eo8$R+glp`eh<=viM|{&5>)B^qQy!`shALxfD}^thHGX4Jifz&TJ1}W4 zU`cLsNQH*2zCk!si2?3yQa^^&hXVM9_lNAQj2`$}(~h0t-6G+8$OlX3MyXJUy|heE zxaH?;?A3|&(DjR9jk57>gMBok<2E&9AE%wx1p@;cC;j@=lgiX`;9zu%S2;BW|Nd1h z@5}YUXbyo!bxND?mG(!rEdh$RZYZnJkE)V3&R(v9ES$JjkDo#sa0tO1OUi$oZhT6fN7p~9yq+iDHIK=`aWwf|VXScR~%^5Kaf zx_Bm1@T(wv!BD_z;bfG+p?SLI<2ZF^>Z-H$r|tAzd1C(JrdYLDTzMNLt~$_JUI&Fo z4#PIg#o$o{7%$<5Xng6O4&+U=%mmDRUW@cnZ!UwNmtepjsc^)%bq0&=)$^}h>d%pM z`M!?1r*poclVK)Bo24Y_4kVFG+Xj;kiA=PN%8*`|DLzT{%WOZC3(S=^V`)5SC_Kgw zAIcKevm596S|=oq7-WPH(=UnOWnoY>W+qD99;V1F&f|R$Z8c#LI__*c4 zVve|_&cW40P17PI3&=C60OEI;39OnPOUFf8!h1!Fj%Pyf^iVTOMu^!ozwu! zkHVMlJ;#WbAX>R;PUE5N!4YNA1XcRnGbh~|>89@UH#|;8i}E=)0~BS@$s`AE`yu;) zwNmXJ!YvYjoNCED<4QH&p>)h}y^*gs@d~mdBw3e7;&#h! zt|0S@0wND~LL3o>o%;ICV08dR@Uad}V&M;7CghQHhtaMwN#gVHkq%|_ys`vAe`!S?JvIz$&a0-^5vnQ*zAw5fH?9+ z`sn%93Ge9}KgF!1w$#0mR{EThr$Tf=5XmLvAjt=nTkBkF9E4glyeL@R4cEarTNJ~M zqyrYML5Hf5x6wi2P zR%c(m?-)I*b_