Unit tests updated. Version and HW compatiblity tests added;
Tegra3, neon, sseX, x64 support uncomment and guarded by ifdefs.
This commit is contained in:
parent
994f8710f3
commit
ed0a158cc1
@ -156,6 +156,7 @@ int GetProcessorCount()
|
|||||||
|
|
||||||
int DetectKnownPlatforms()
|
int DetectKnownPlatforms()
|
||||||
{
|
{
|
||||||
|
#ifdef __SUPPORT_TEGRA3
|
||||||
int tegra_status = DetectTegra();
|
int tegra_status = DetectTegra();
|
||||||
|
|
||||||
if (3 == tegra_status)
|
if (3 == tegra_status)
|
||||||
@ -166,6 +167,9 @@ int DetectKnownPlatforms()
|
|||||||
{
|
{
|
||||||
return PLATFORM_UNKNOWN;
|
return PLATFORM_UNKNOWN;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
return PLATFORM_UNKNOWN;
|
||||||
|
#endif
|
||||||
|
|
||||||
// NOTE: Uncomment when all Tegras will be supported
|
// NOTE: Uncomment when all Tegras will be supported
|
||||||
/*if (tegra_status > 0)
|
/*if (tegra_status > 0)
|
||||||
|
@ -106,7 +106,7 @@ String16 OpenCVEngine::GetLibPathByVersion(android::String16 version)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LOGE("OpenCV version \"%s\" is not supported", norm_version.c_str());
|
LOGE("OpenCV version \"%s\" (%s) is not supported", String8(version).string(), norm_version.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
return String16(path.c_str());
|
return String16(path.c_str());
|
||||||
|
@ -179,8 +179,8 @@ inline int SplitPlatfrom(const vector<string>& features)
|
|||||||
* First part is base namespace.
|
* First part is base namespace.
|
||||||
* Second part is version. Version starts from "v" symbol. After "v" symbol version nomber without dot symbol added.
|
* Second part is version. Version starts from "v" symbol. After "v" symbol version nomber without dot symbol added.
|
||||||
* If platform is known third part is platform name
|
* If platform is known third part is platform name
|
||||||
* If platform is unknown it is defined by hardware capabilities using pattern: <arch>_<fpu features>_<vectorisation features>_<other features>
|
* If platform is unknown it is defined by hardware capabilities using pattern: <arch>_<floating point and vectorization features>_<other features>
|
||||||
* Example: armv7_vfpv3_neon, armv7_vfpv3d16_neon
|
* Example: armv7_neon, armv5_vfpv3
|
||||||
*/
|
*/
|
||||||
PackageInfo::PackageInfo(const string& version, int platform, int cpu_id):
|
PackageInfo::PackageInfo(const string& version, int platform, int cpu_id):
|
||||||
Version(version),
|
Version(version),
|
||||||
@ -188,9 +188,13 @@ PackageInfo::PackageInfo(const string& version, int platform, int cpu_id):
|
|||||||
CpuID(cpu_id),
|
CpuID(cpu_id),
|
||||||
InstallPath("")
|
InstallPath("")
|
||||||
{
|
{
|
||||||
|
#ifndef __SUPPORT_TEGRA3
|
||||||
|
Platform = PLATFORM_UNKNOWN;
|
||||||
|
#endif
|
||||||
FullName = BasePackageName + "_v" + Version.substr(0, Version.size()-1);
|
FullName = BasePackageName + "_v" + Version.substr(0, Version.size()-1);
|
||||||
if (PLATFORM_UNKNOWN != Platform)
|
if (PLATFORM_UNKNOWN != Platform)
|
||||||
{
|
{
|
||||||
|
LOGD("Try to use known platform !!!");
|
||||||
FullName += string("_") + JoinPlatform(platform);
|
FullName += string("_") + JoinPlatform(platform);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -201,72 +205,98 @@ PackageInfo::PackageInfo(const string& version, int platform, int cpu_id):
|
|||||||
{
|
{
|
||||||
LOGD("Found processor with x86 arch");
|
LOGD("Found processor with x86 arch");
|
||||||
FullName += string("_") + ARCH_X86_NAME;
|
FullName += string("_") + ARCH_X86_NAME;
|
||||||
// NOTE: Intel features temporary are not supported
|
#ifdef __SUPPORT_INTEL_FEATURES
|
||||||
//string features = JoinIntelFeatures(CpuID);
|
string features = JoinIntelFeatures(CpuID);
|
||||||
|
#else
|
||||||
string features;
|
string features;
|
||||||
|
#endif
|
||||||
if (!features.empty())
|
if (!features.empty())
|
||||||
{
|
{
|
||||||
FullName += string("_") + features;
|
FullName += string("_") + features;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (ARCH_X64 & CpuID)
|
else if (ARCH_X64 & CpuID)
|
||||||
{
|
{
|
||||||
LOGD("Found processor with x64 arch");
|
LOGD("Found processor with x64 arch");
|
||||||
// NOTE: Intel features temporary are not supported
|
#ifdef __SUPPORT_INTEL_x64
|
||||||
//FullName += string("_") + ARCH_X64_NAME;
|
FullName += string("_") + ARCH_X64_NAME;
|
||||||
//string features = JoinIntelFeatures(CpuID);
|
#else
|
||||||
FullName += string("_") + ARCH_X86_NAME;
|
FullName += string("_") + ARCH_X86_NAME;
|
||||||
|
#endif
|
||||||
|
#ifdef __SUPPORT_INTEL_FEATURES
|
||||||
|
string features = JoinIntelFeatures(CpuID);
|
||||||
|
#else
|
||||||
string features;
|
string features;
|
||||||
|
#endif
|
||||||
if (!features.empty())
|
if (!features.empty())
|
||||||
{
|
{
|
||||||
FullName += string("_") + features;
|
FullName += string("_") + features;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (ARCH_ARMv5 & CpuID)
|
else if (ARCH_ARMv5 & CpuID)
|
||||||
{
|
{
|
||||||
LOGD("Found processor with ARMv5 arch");
|
LOGD("Found processor with ARMv5 arch");
|
||||||
FullName += string("_") + ARCH_ARMv5_NAME;
|
FullName += string("_") + ARCH_ARMv5_NAME;
|
||||||
|
#ifdef __SUPPORT_ARMEABI_FEATURES
|
||||||
string features = JoinARMFeatures(CpuID);
|
string features = JoinARMFeatures(CpuID);
|
||||||
|
#else
|
||||||
|
string features;
|
||||||
|
#endif
|
||||||
if (!features.empty())
|
if (!features.empty())
|
||||||
{
|
{
|
||||||
FullName += string("_") + features;
|
FullName += string("_") + features;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (ARCH_ARMv6 & CpuID)
|
else if (ARCH_ARMv6 & CpuID)
|
||||||
{
|
{
|
||||||
LOGD("Found processor with ARMv6 arch");
|
LOGD("Found processor with ARMv6 arch");
|
||||||
// NOTE: ARM v6 used instead ARM v6
|
// NOTE: ARM v5 used instead ARM v6
|
||||||
//FullName += string("_") + ARCH_ARMv6_NAME;
|
//FullName += string("_") + ARCH_ARMv6_NAME;
|
||||||
FullName += string("_") + ARCH_ARMv5_NAME;
|
FullName += string("_") + ARCH_ARMv5_NAME;
|
||||||
// NOTE: ARM features temporary are not supported
|
#ifdef __SUPPORT_ARMEABI_FEATURES
|
||||||
//string features = JoinARMFeatures(CpuID);
|
string features = JoinARMFeatures(CpuID);
|
||||||
|
#else
|
||||||
string features;
|
string features;
|
||||||
|
#endif
|
||||||
if (!features.empty())
|
if (!features.empty())
|
||||||
{
|
{
|
||||||
FullName += string("_") + features;
|
FullName += string("_") + features;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (ARCH_ARMv7 & CpuID)
|
else if (ARCH_ARMv7 & CpuID)
|
||||||
{
|
{
|
||||||
LOGD("Found processor with ARMv7 arch");
|
LOGD("Found processor with ARMv7 arch");
|
||||||
FullName += string("_") + ARCH_ARMv7_NAME;
|
FullName += string("_") + ARCH_ARMv7_NAME;
|
||||||
// NOTE: ARM features temporary are not supported
|
#ifdef __SUPPORT_ARMEABI_V7A_FEATURES
|
||||||
//string features = JoinARMFeatures(CpuID);
|
string features = JoinARMFeatures(CpuID);
|
||||||
|
#else
|
||||||
string features;
|
string features;
|
||||||
|
#endif
|
||||||
if (!features.empty())
|
if (!features.empty())
|
||||||
{
|
{
|
||||||
FullName += string("_") + features;
|
FullName += string("_") + features;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (ARCH_ARMv8 & CpuID)
|
else if (ARCH_ARMv8 & CpuID)
|
||||||
{
|
{
|
||||||
LOGD("Found processor with ARMv8 arch");
|
LOGD("Found processor with ARMv8 arch");
|
||||||
|
#ifdef __SUPPORT_ARMEABI_V8
|
||||||
FullName += string("_") + ARCH_ARMv8_NAME;
|
FullName += string("_") + ARCH_ARMv8_NAME;
|
||||||
string features = JoinARMFeatures(CpuID);
|
#else
|
||||||
if (!features.empty())
|
FullName += string("_") + ARCH_ARMv7_NAME;
|
||||||
{
|
#endif
|
||||||
FullName += string("_") + features;
|
//string features = JoinARMFeatures(CpuID);
|
||||||
}
|
//if (!features.empty())
|
||||||
|
//{
|
||||||
|
// FullName += string("_") + features;
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LOGD("Found processor with unknown arch");
|
||||||
|
Version.clear();
|
||||||
|
CpuID = ARCH_UNKNOWN;
|
||||||
|
Platform = PLATFORM_UNKNOWN;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -20,10 +20,7 @@ class ServiceStarter
|
|||||||
public:
|
public:
|
||||||
ServiceStarter()
|
ServiceStarter()
|
||||||
{
|
{
|
||||||
PackageManager = new PackageManagerStub();
|
PackageManager = new PackageManagerStub();
|
||||||
PackageInfo info("230", PLATFORM_UNKNOWN, ARCH_ARMv7);
|
|
||||||
PackageManager->InstalledPackages.push_back(info);
|
|
||||||
|
|
||||||
Engine = new OpenCVEngine(PackageManager);
|
Engine = new OpenCVEngine(PackageManager);
|
||||||
|
|
||||||
defaultServiceManager()->addService(IOpenCVEngine::descriptor, Engine);
|
defaultServiceManager()->addService(IOpenCVEngine::descriptor, Engine);
|
||||||
@ -34,7 +31,7 @@ public:
|
|||||||
{
|
{
|
||||||
delete PackageManager;
|
delete PackageManager;
|
||||||
}
|
}
|
||||||
private:
|
|
||||||
PackageManagerStub* PackageManager;
|
PackageManagerStub* PackageManager;
|
||||||
sp<IBinder> Engine;
|
sp<IBinder> Engine;
|
||||||
};
|
};
|
||||||
@ -67,20 +64,50 @@ TEST(OpenCVEngineTest, GetVersion)
|
|||||||
EXPECT_EQ(OPEN_CV_ENGINE_VERSION, Version);
|
EXPECT_EQ(OPEN_CV_ENGINE_VERSION, Version);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(OpenCVEngineTest, InstallVersion)
|
TEST(OpenCVEngineTest, GetPathForExecHWExistVersion)
|
||||||
{
|
{
|
||||||
sp<IOpenCVEngine> Engine = InitConnect();
|
sp<IOpenCVEngine> Engine = InitConnect();
|
||||||
|
Starter.PackageManager->InstalledPackages.clear();
|
||||||
|
Starter.PackageManager->InstallVersion("240", PLATFORM_TEGRA3, ARCH_ARMv7 | FEATURES_HAS_NEON);
|
||||||
EXPECT_FALSE(NULL == Engine.get());
|
EXPECT_FALSE(NULL == Engine.get());
|
||||||
bool result = Engine->InstallVersion(String16("2.4"));
|
String16 result = Engine->GetLibPathByVersion(String16("2.4"));
|
||||||
EXPECT_EQ(true, result);
|
#ifdef __SUPPORT_TEGRA3
|
||||||
|
EXPECT_STREQ("/data/data/org.opencv.lib_v24_tegra3/lib", String8(result).string());
|
||||||
|
#else
|
||||||
|
#ifdef __SUPPORT_ARMEABI_V7A_FEATURES
|
||||||
|
EXPECT_STREQ("/data/data/org.opencv.lib_v24_armv7a_neon/lib", String8(result).string());
|
||||||
|
#else
|
||||||
|
EXPECT_STREQ("/data/data/org.opencv.lib_v24_armv7a/lib", String8(result).string());
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(OpenCVEngineTest, GetPathForExistVersion)
|
TEST(OpenCVEngineTest, GetPathForExecHWOldVersion)
|
||||||
{
|
{
|
||||||
sp<IOpenCVEngine> Engine = InitConnect();
|
sp<IOpenCVEngine> Engine = InitConnect();
|
||||||
|
Starter.PackageManager->InstalledPackages.clear();
|
||||||
|
Starter.PackageManager->InstallVersion("242", PLATFORM_TEGRA3, ARCH_ARMv7 | FEATURES_HAS_NEON);
|
||||||
EXPECT_FALSE(NULL == Engine.get());
|
EXPECT_FALSE(NULL == Engine.get());
|
||||||
String16 result = Engine->GetLibPathByVersion(String16("2.3"));
|
String16 result = Engine->GetLibPathByVersion(String16("2.4.1"));
|
||||||
EXPECT_STREQ("/data/data/org.opencv.lib_v23_armv7/lib",String8(result).string());
|
#ifdef __SUPPORT_TEGRA3
|
||||||
|
EXPECT_STREQ("/data/data/org.opencv.lib_v24_tegra3/lib", String8(result).string());
|
||||||
|
#else
|
||||||
|
#ifdef __SUPPORT_ARMEABI_V7A_FEATURES
|
||||||
|
EXPECT_STREQ("/data/data/org.opencv.lib_v24_armv7a_neon/lib", String8(result).string());
|
||||||
|
#else
|
||||||
|
EXPECT_STREQ("/data/data/org.opencv.lib_v24_armv7a/lib", String8(result).string());
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST(OpenCVEngineTest, GetPathForExecHWNewVersion)
|
||||||
|
{
|
||||||
|
sp<IOpenCVEngine> Engine = InitConnect();
|
||||||
|
Starter.PackageManager->InstalledPackages.clear();
|
||||||
|
Starter.PackageManager->InstallVersion("242", PLATFORM_TEGRA3, ARCH_ARMv7 | FEATURES_HAS_NEON);
|
||||||
|
EXPECT_FALSE(NULL == Engine.get());
|
||||||
|
String16 result = Engine->GetLibPathByVersion(String16("2.4.3"));
|
||||||
|
EXPECT_EQ(0, result.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(OpenCVEngineTest, GetPathForUnExistVersion)
|
TEST(OpenCVEngineTest, GetPathForUnExistVersion)
|
||||||
@ -95,7 +122,15 @@ TEST(OpenCVEngineTest, InstallAndGetVersion)
|
|||||||
{
|
{
|
||||||
sp<IOpenCVEngine> Engine = InitConnect();
|
sp<IOpenCVEngine> Engine = InitConnect();
|
||||||
EXPECT_FALSE(NULL == Engine.get());
|
EXPECT_FALSE(NULL == Engine.get());
|
||||||
EXPECT_TRUE(Engine->InstallVersion(String16("2.5")));
|
EXPECT_TRUE(Engine->InstallVersion(String16("2.4")));
|
||||||
String16 result = Engine->GetLibPathByVersion(String16("2.5"));
|
String16 result = Engine->GetLibPathByVersion(String16("2.4"));
|
||||||
EXPECT_STREQ("/data/data/org.opencv.lib_v25_tegra3/lib", String8(result).string());
|
#ifdef __SUPPORT_TEGRA3
|
||||||
|
EXPECT_STREQ("/data/data/org.opencv.lib_v24_tegra3/lib", String8(result).string());
|
||||||
|
#else
|
||||||
|
#ifdef __SUPPORT_ARMEABI_V7A_FEATURES
|
||||||
|
EXPECT_STREQ("/data/data/org.opencv.lib_v24_armv7a_neon/lib", String8(result).string());
|
||||||
|
#else
|
||||||
|
EXPECT_STREQ("/data/data/org.opencv.lib_v24_armv7a/lib", String8(result).string());
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
}
|
}
|
@ -13,50 +13,55 @@ TEST(PackageInfo, FullNameArmv7)
|
|||||||
{
|
{
|
||||||
PackageInfo info("230", PLATFORM_UNKNOWN, ARCH_ARMv7);
|
PackageInfo info("230", PLATFORM_UNKNOWN, ARCH_ARMv7);
|
||||||
string name = info.GetFullName();
|
string name = info.GetFullName();
|
||||||
EXPECT_STREQ("org.opencv.lib_v23_armv7", name.c_str());
|
EXPECT_STREQ("org.opencv.lib_v23_armv7a", name.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(PackageInfo, FullNameArmv7Neon)
|
TEST(PackageInfo, FullNameArmv7Neon)
|
||||||
{
|
{
|
||||||
PackageInfo info("230", PLATFORM_UNKNOWN, ARCH_ARMv7 | FEATURES_HAS_NEON);
|
PackageInfo info("230", PLATFORM_UNKNOWN, ARCH_ARMv7 | FEATURES_HAS_NEON);
|
||||||
string name = info.GetFullName();
|
string name = info.GetFullName();
|
||||||
EXPECT_STREQ("org.opencv.lib_v23_armv7", name.c_str());
|
#ifdef __SUPPORT_ARMEABI_V7A_FEATURES
|
||||||
// TODO: Replace if seporate package will be exists
|
EXPECT_STREQ("org.opencv.lib_v23_armv7a_neon", name.c_str());
|
||||||
//EXPECT_STREQ("org.opencv.lib_v23_armv7_neon", name.c_str());
|
#else
|
||||||
|
EXPECT_STREQ("org.opencv.lib_v23_armv7a", name.c_str());
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(PackageInfo, FullNameArmv7VFPv3)
|
TEST(PackageInfo, FullNameArmv7VFPv3)
|
||||||
{
|
{
|
||||||
PackageInfo info("230", PLATFORM_UNKNOWN, ARCH_ARMv7 | FEATURES_HAS_VFPv3);
|
PackageInfo info("230", PLATFORM_UNKNOWN, ARCH_ARMv7 | FEATURES_HAS_VFPv3);
|
||||||
string name = info.GetFullName();
|
string name = info.GetFullName();
|
||||||
EXPECT_STREQ("org.opencv.lib_v23_armv7", name.c_str());
|
EXPECT_STREQ("org.opencv.lib_v23_armv7a", name.c_str());
|
||||||
// TODO: Replace if seporate package will be exists
|
|
||||||
//EXPECT_STREQ("org.opencv.lib_v23_armv7_vfpv3", name.c_str());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(PackageInfo, FullNameArmv7VFPv3Neon)
|
TEST(PackageInfo, FullNameArmv7VFPv3Neon)
|
||||||
{
|
{
|
||||||
|
|
||||||
PackageInfo info("230", PLATFORM_UNKNOWN, ARCH_ARMv7 | FEATURES_HAS_VFPv3 | FEATURES_HAS_NEON);
|
PackageInfo info("230", PLATFORM_UNKNOWN, ARCH_ARMv7 | FEATURES_HAS_VFPv3 | FEATURES_HAS_NEON);
|
||||||
string name = info.GetFullName();
|
string name = info.GetFullName();
|
||||||
EXPECT_STREQ("org.opencv.lib_v23_armv7", name.c_str());
|
#ifdef __SUPPORT_ARMEABI_V7A_FEATURES
|
||||||
// TODO: Replace if seporate package will be exists
|
EXPECT_STREQ("org.opencv.lib_v23_armv7a_neon", name.c_str());
|
||||||
//EXPECT_STREQ("org.opencv.lib_v23_armv7_neon", name.c_str());
|
#else
|
||||||
|
EXPECT_STREQ("org.opencv.lib_v23_armv7a", name.c_str());
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(PackageInfo, FullNameX86SSE2)
|
TEST(PackageInfo, FullNameX86SSE2)
|
||||||
{
|
{
|
||||||
PackageInfo info("230", PLATFORM_UNKNOWN, ARCH_X86 | FEATURES_HAS_SSE2);
|
PackageInfo info("230", PLATFORM_UNKNOWN, ARCH_X86 | FEATURES_HAS_SSE2);
|
||||||
string name = info.GetFullName();
|
string name = info.GetFullName();
|
||||||
|
#ifdef __SUPPORT_INTEL_FEATURES
|
||||||
|
EXPECT_STREQ("org.opencv.lib_v23_x86_sse2", name.c_str());
|
||||||
|
#else
|
||||||
EXPECT_STREQ("org.opencv.lib_v23_x86", name.c_str());
|
EXPECT_STREQ("org.opencv.lib_v23_x86", name.c_str());
|
||||||
// TODO: Replace if seporate package will be exists
|
#endif
|
||||||
//EXPECT_STREQ("org.opencv.lib_v23_x86_sse2", name.c_str());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(PackageInfo, Armv7VFPv3NeonFromFullName)
|
TEST(PackageInfo, Armv7NeonFromFullName)
|
||||||
{
|
{
|
||||||
PackageInfo info("org.opencv.lib_v23_armv7_vfpv3_neon", "/data/data/org.opencv.lib_v23_armv7_vfpv3_neon");
|
PackageInfo info("org.opencv.lib_v23_armv7a_neon", "/data/data/org.opencv.lib_v23_armv7_neon");
|
||||||
EXPECT_EQ("230", info.GetVersion());
|
EXPECT_EQ("230", info.GetVersion());
|
||||||
EXPECT_EQ(ARCH_ARMv7 | FEATURES_HAS_VFPv3 | FEATURES_HAS_NEON, info.GetCpuID());
|
EXPECT_EQ(ARCH_ARMv7 | FEATURES_HAS_NEON, info.GetCpuID());
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(PackageInfo, X86SSE2FromFullName)
|
TEST(PackageInfo, X86SSE2FromFullName)
|
||||||
@ -83,11 +88,17 @@ TEST(PackageInfo, Tegra3FromFullName)
|
|||||||
|
|
||||||
TEST(PackageInfo, FullNameTegra3)
|
TEST(PackageInfo, FullNameTegra3)
|
||||||
{
|
{
|
||||||
PackageInfo info("230", PLATFORM_TEGRA3, 0);
|
PackageInfo info("230", PLATFORM_TEGRA3, ARCH_ARMv7 | FEATURES_HAS_NEON);
|
||||||
EXPECT_TRUE(!info.IsValid());
|
string name = info.GetFullName();
|
||||||
// TODO: Replace if seporate package will be exists
|
#ifdef __SUPPORT_TEGRA3
|
||||||
//string name = info.GetFullName();
|
EXPECT_STREQ("org.opencv.lib_v23_tegra3", name.c_str());
|
||||||
//EXPECT_STREQ("org.opencv.lib_v23_tegra3", name.c_str());
|
#else
|
||||||
|
#ifdef __SUPPORT_ARMEABI_V7A_FEATURES
|
||||||
|
EXPECT_STREQ("org.opencv.lib_v23_armv7a_neon", name.c_str());
|
||||||
|
#else
|
||||||
|
EXPECT_STREQ("org.opencv.lib_v23_armv7a", name.c_str());
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(PackageInfo, FullNameTegra2)
|
TEST(PackageInfo, FullNameTegra2)
|
||||||
@ -110,18 +121,19 @@ TEST(PackageInfo, Comparator1)
|
|||||||
TEST(PackageInfo, Comparator2)
|
TEST(PackageInfo, Comparator2)
|
||||||
{
|
{
|
||||||
PackageInfo info1("240", PLATFORM_UNKNOWN, ARCH_ARMv7 | FEATURES_HAS_NEON | FEATURES_HAS_VFPv3);
|
PackageInfo info1("240", PLATFORM_UNKNOWN, ARCH_ARMv7 | FEATURES_HAS_NEON | FEATURES_HAS_VFPv3);
|
||||||
PackageInfo info2("org.opencv.lib_v24_armv7", "/data/data/org.opencv.lib_v24_armv7");
|
PackageInfo info2("org.opencv.lib_v24_armv7a", "/data/data/org.opencv.lib_v24_armv7a");
|
||||||
// TODO: Replace if seporate package will be exists
|
// TODO: Replace if seporate package will be exists
|
||||||
//PackageInfo info2("org.opencv.lib_v24_armv7_vfpv3_neon", "/data/data/org.opencv.lib_v24_armv7_vfpv3_neon");
|
//PackageInfo info2("org.opencv.lib_v24_armv7_vfpv3_neon", "/data/data/org.opencv.lib_v24_armv7_vfpv3_neon");
|
||||||
EXPECT_STREQ(info1.GetFullName().c_str(), info2.GetFullName().c_str());
|
EXPECT_STREQ(info1.GetFullName().c_str(), info2.GetFullName().c_str());
|
||||||
EXPECT_EQ(info1, info2);
|
EXPECT_EQ(info1, info2);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Enable test if seporate package will be exists
|
#ifdef __SUPPORT_TEGRA3
|
||||||
// TEST(PackageInfo, Comparator3)
|
TEST(PackageInfo, Comparator3)
|
||||||
// {
|
{
|
||||||
// PackageInfo info1("230", PLATFORM_TEGRA2, 0);
|
PackageInfo info1("230", PLATFORM_TEGRA2, 0);
|
||||||
// PackageInfo info2("org.opencv.lib_v23_tegra2", "/data/data/org.opencv.lib_v23_tegra2");
|
PackageInfo info2("org.opencv.lib_v23_tegra2", "/data/data/org.opencv.lib_v23_tegra2");
|
||||||
// EXPECT_STREQ(info1.GetFullName().c_str(), info2.GetFullName().c_str());
|
EXPECT_STREQ(info1.GetFullName().c_str(), info2.GetFullName().c_str());
|
||||||
// EXPECT_EQ(info1, info2);
|
EXPECT_EQ(info1, info2);
|
||||||
// }
|
}
|
||||||
|
#endif
|
@ -4,7 +4,7 @@ using namespace std;
|
|||||||
|
|
||||||
bool PackageManagerStub::InstallPackage(const PackageInfo& package)
|
bool PackageManagerStub::InstallPackage(const PackageInfo& package)
|
||||||
{
|
{
|
||||||
InstalledPackages.push_back(PackageInfo(package.GetFullName(), "/data/data/" + package.GetFullName()));
|
InstalledPackages.push_back(PackageInfo(package.GetFullName(), "/data/data/" + package.GetFullName() + "/lib"));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,47 +24,45 @@ TEST(PackageManager, InstalledVersions)
|
|||||||
TEST(PackageManager, CheckVersionInstalled)
|
TEST(PackageManager, CheckVersionInstalled)
|
||||||
{
|
{
|
||||||
PackageManagerStub pm;
|
PackageManagerStub pm;
|
||||||
PackageInfo info("230", PLATFORM_TEGRA3, 0);
|
PackageInfo info("230", PLATFORM_UNKNOWN, ARCH_ARMv7);
|
||||||
pm.InstalledPackages.push_back(info);
|
pm.InstalledPackages.push_back(info);
|
||||||
EXPECT_TRUE(pm.CheckVersionInstalled("230", PLATFORM_TEGRA3, 0));
|
EXPECT_TRUE(pm.CheckVersionInstalled("230", PLATFORM_UNKNOWN, ARCH_ARMv7));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(PackageManager, InstallVersion)
|
TEST(PackageManager, InstallVersion)
|
||||||
{
|
{
|
||||||
PackageManagerStub pm;
|
PackageManagerStub pm;
|
||||||
PackageInfo info("230", PLATFORM_TEGRA3, 0);
|
PackageInfo info("230", PLATFORM_UNKNOWN, ARCH_ARMv5);
|
||||||
pm.InstalledPackages.push_back(info);
|
pm.InstalledPackages.push_back(info);
|
||||||
EXPECT_TRUE(pm.InstallVersion("240", PLATFORM_TEGRA3, 0));
|
EXPECT_TRUE(pm.InstallVersion("240", PLATFORM_UNKNOWN, ARCH_ARMv5));
|
||||||
EXPECT_EQ(2, pm.InstalledPackages.size());
|
EXPECT_EQ(2, pm.InstalledPackages.size());
|
||||||
EXPECT_TRUE(pm.CheckVersionInstalled("240", PLATFORM_TEGRA3, 0));
|
EXPECT_TRUE(pm.CheckVersionInstalled("240", PLATFORM_UNKNOWN, ARCH_ARMv5));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(PackageManager, GetPackagePathForArmv7)
|
TEST(PackageManager, GetPackagePathForArmv7)
|
||||||
{
|
{
|
||||||
PackageManagerStub pm;
|
PackageManagerStub pm;
|
||||||
PackageInfo info("230", PLATFORM_UNKNOWN, ARCH_ARMv7);
|
EXPECT_TRUE(pm.InstallVersion("230", PLATFORM_UNKNOWN, ARCH_ARMv7));
|
||||||
pm.InstalledPackages.push_back(info);
|
|
||||||
string path = pm.GetPackagePathByVersion("230", PLATFORM_UNKNOWN, ARCH_ARMv7);
|
string path = pm.GetPackagePathByVersion("230", PLATFORM_UNKNOWN, ARCH_ARMv7);
|
||||||
EXPECT_STREQ("/data/data/org.opencv.lib_v23_armv7/lib", path.c_str());
|
EXPECT_STREQ("/data/data/org.opencv.lib_v23_armv7a/lib", path.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(PackageManager, GetPackagePathForArmv7Neon)
|
TEST(PackageManager, GetPackagePathForArmv7Neon)
|
||||||
{
|
{
|
||||||
PackageManagerStub pm;
|
PackageManagerStub pm;
|
||||||
PackageInfo info("230", PLATFORM_UNKNOWN, ARCH_ARMv7 | FEATURES_HAS_NEON);
|
EXPECT_TRUE(pm.InstallVersion("230", PLATFORM_UNKNOWN, ARCH_ARMv7 | FEATURES_HAS_NEON));
|
||||||
pm.InstalledPackages.push_back(info);
|
|
||||||
|
|
||||||
string path = pm.GetPackagePathByVersion("230", PLATFORM_UNKNOWN, ARCH_ARMv7 | FEATURES_HAS_NEON);
|
string path = pm.GetPackagePathByVersion("230", PLATFORM_UNKNOWN, ARCH_ARMv7 | FEATURES_HAS_NEON);
|
||||||
EXPECT_STREQ("/data/data/org.opencv.lib_v23_armv7/lib", path.c_str());
|
#ifdef __SUPPORT_ARMEABI_V7A_FEATURES
|
||||||
// TODO: Replace if seporate package will be exists
|
EXPECT_STREQ("/data/data/org.opencv.lib_v23_armv7a_neon/lib", path.c_str());
|
||||||
//EXPECT_STREQ("/data/data/org.opencv.lib_v23_armv7_neon/lib", path.c_str());
|
#else
|
||||||
|
EXPECT_STREQ("/data/data/org.opencv.lib_v23_armv7a/lib", path.c_str());
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(PackageManager, GetPackagePathForX86)
|
TEST(PackageManager, GetPackagePathForX86)
|
||||||
{
|
{
|
||||||
PackageManagerStub pm;
|
PackageManagerStub pm;
|
||||||
PackageInfo info("230", PLATFORM_UNKNOWN, ARCH_X86);
|
EXPECT_TRUE(pm.InstallVersion("230", PLATFORM_UNKNOWN, ARCH_X86));
|
||||||
pm.InstalledPackages.push_back(info);
|
|
||||||
string path = pm.GetPackagePathByVersion("230", PLATFORM_UNKNOWN, ARCH_X86);
|
string path = pm.GetPackagePathByVersion("230", PLATFORM_UNKNOWN, ARCH_X86);
|
||||||
EXPECT_STREQ("/data/data/org.opencv.lib_v23_x86/lib", path.c_str());
|
EXPECT_STREQ("/data/data/org.opencv.lib_v23_x86/lib", path.c_str());
|
||||||
}
|
}
|
||||||
@ -72,12 +70,29 @@ TEST(PackageManager, GetPackagePathForX86)
|
|||||||
TEST(PackageManager, GetPackagePathForX86SSE2)
|
TEST(PackageManager, GetPackagePathForX86SSE2)
|
||||||
{
|
{
|
||||||
PackageManagerStub pm;
|
PackageManagerStub pm;
|
||||||
PackageInfo info("230", PLATFORM_UNKNOWN, ARCH_X86 | FEATURES_HAS_SSE2);
|
EXPECT_TRUE(pm.InstallVersion("230", PLATFORM_UNKNOWN, ARCH_X86 | FEATURES_HAS_SSE2));
|
||||||
pm.InstalledPackages.push_back(info);
|
|
||||||
string path = pm.GetPackagePathByVersion("230", PLATFORM_UNKNOWN, ARCH_X86 | FEATURES_HAS_SSE2);
|
string path = pm.GetPackagePathByVersion("230", PLATFORM_UNKNOWN, ARCH_X86 | FEATURES_HAS_SSE2);
|
||||||
|
#ifdef __SUPPORT_INTEL_FEATURES
|
||||||
|
EXPECT_STREQ("/data/data/org.opencv.lib_v23_x86_sse2/lib", path.c_str());
|
||||||
|
#else
|
||||||
EXPECT_STREQ("/data/data/org.opencv.lib_v23_x86/lib", path.c_str());
|
EXPECT_STREQ("/data/data/org.opencv.lib_v23_x86/lib", path.c_str());
|
||||||
// TODO: Replace if seporate package will be exists
|
#endif
|
||||||
//EXPECT_STREQ("/data/data/org.opencv.lib_v23_x86_sse2/lib", path.c_str());
|
}
|
||||||
|
|
||||||
|
TEST(PackageManager, GetPackagePathForTegra3)
|
||||||
|
{
|
||||||
|
PackageManagerStub pm;
|
||||||
|
EXPECT_TRUE(pm.InstallVersion("230", PLATFORM_TEGRA3, ARCH_ARMv7 | FEATURES_HAS_NEON));
|
||||||
|
string path = pm.GetPackagePathByVersion("230", PLATFORM_TEGRA3, ARCH_ARMv7 | FEATURES_HAS_NEON);
|
||||||
|
#ifdef __SUPPORT_TEGRA3
|
||||||
|
EXPECT_STREQ("/data/data/org.opencv.lib_v23_tegra3/lib", path.c_str());
|
||||||
|
#else
|
||||||
|
#ifdef __SUPPORT_ARMEABI_V7A_FEATURES
|
||||||
|
EXPECT_STREQ("/data/data/org.opencv.lib_v23_armv7a_neon/lib", path.c_str());
|
||||||
|
#else
|
||||||
|
EXPECT_STREQ("/data/data/org.opencv.lib_v23_armv7a/lib", path.c_str());
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Enable tests if seporate package will be exists
|
// TODO: Enable tests if seporate package will be exists
|
||||||
@ -89,12 +104,5 @@ TEST(PackageManager, GetPackagePathForX86SSE2)
|
|||||||
// string path = pm.GetPackagePathByVersion("240", PLATFORM_TEGRA2, 0);
|
// string path = pm.GetPackagePathByVersion("240", PLATFORM_TEGRA2, 0);
|
||||||
// EXPECT_STREQ("/data/data/org.opencv.lib_v24_tegra2/lib", path.c_str());
|
// EXPECT_STREQ("/data/data/org.opencv.lib_v24_tegra2/lib", path.c_str());
|
||||||
// }
|
// }
|
||||||
//
|
|
||||||
// TEST(PackageManager, GetPackagePathForTegra3)
|
|
||||||
// {
|
|
||||||
// PackageManagerStub pm;
|
|
||||||
// PackageInfo info("230", PLATFORM_TEGRA3, 0);
|
|
||||||
// pm.InstalledPackages.push_back(info);
|
|
||||||
// string path = pm.GetPackagePathByVersion("230", PLATFORM_TEGRA3, 0);
|
|
||||||
// EXPECT_STREQ("/data/data/org.opencv.lib_v23_tegra3/lib", path.c_str());
|
|
||||||
// }
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user