+#if defined(__i386__)
+TEST(OpenCVEngineTest, GetPathForExecHWExistVersion)
+{
+ sp<IOpenCVEngine> Engine = InitConnect();
+ Starter.PackageManager->InstalledPackages.clear();
+ Starter.PackageManager->InstallVersion("240", PLATFORM_UNKNOWN, ARCH_X86);
+ EXPECT_FALSE(NULL == Engine.get());
+ String16 result = Engine->GetLibPathByVersion(String16("2.4"));
+ EXPECT_STREQ("/data/data/org.opencv.lib_v24_x86/lib", String8(result).string());
+}
+
+TEST(OpenCVEngineTest, GetPathForExecHWOldVersion)
+{
+ sp<IOpenCVEngine> Engine = InitConnect();
+ Starter.PackageManager->InstalledPackages.clear();
+ Starter.PackageManager->InstallVersion("242", PLATFORM_UNKNOWN, ARCH_X86);
+ EXPECT_FALSE(NULL == Engine.get());
+ String16 result = Engine->GetLibPathByVersion(String16("2.4.1"));
+ EXPECT_STREQ("/data/data/org.opencv.lib_v24_x86/lib", String8(result).string());
+}
+
+TEST(OpenCVEngineTest, GetPathForExecHWNewVersion)
+{
+ sp<IOpenCVEngine> Engine = InitConnect();
+ Starter.PackageManager->InstalledPackages.clear();
+ Starter.PackageManager->InstallVersion("241", PLATFORM_UNKNOWN, ARCH_X86);
+ EXPECT_FALSE(NULL == Engine.get());
+ String16 result = Engine->GetLibPathByVersion(String16("2.4.2"));
+ EXPECT_EQ(0, result.size());
+}
+
+#elif defined (__mips)
+TEST(OpenCVEngineTest, GetPathForExecHWExistVersion)
+{
+ sp<IOpenCVEngine> Engine = InitConnect();
+ Starter.PackageManager->InstalledPackages.clear();
+ Starter.PackageManager->InstallVersion("240", PLATFORM_UNKNOWN, ARCH_MIPS);
+ EXPECT_FALSE(NULL == Engine.get());
+ String16 result = Engine->GetLibPathByVersion(String16("2.4"));
+ EXPECT_STREQ("/data/data/org.opencv.lib_v24_mips/lib", String8(result).string());
+}
+
+TEST(OpenCVEngineTest, GetPathForExecHWOldVersion)
+{
+ sp<IOpenCVEngine> Engine = InitConnect();
+ Starter.PackageManager->InstalledPackages.clear();
+ Starter.PackageManager->InstallVersion("242", PLATFORM_UNKNOWN, ARCH_MIPS);
+ EXPECT_FALSE(NULL == Engine.get());
+ String16 result = Engine->GetLibPathByVersion(String16("2.4.1"));
+ EXPECT_STREQ("/data/data/org.opencv.lib_v24_mips/lib", String8(result).string());
+}
+
+TEST(OpenCVEngineTest, GetPathForExecHWNewVersion)
+{
+ sp<IOpenCVEngine> Engine = InitConnect();
+ Starter.PackageManager->InstalledPackages.clear();
+ Starter.PackageManager->InstallVersion("241", PLATFORM_UNKNOWN, ARCH_MIPS);
+ EXPECT_FALSE(NULL == Engine.get());
+ String16 result = Engine->GetLibPathByVersion(String16("2.4.2"));
+ EXPECT_EQ(0, result.size());
+}
+
+#else