104 lines
3.4 KiB
C++
104 lines
3.4 KiB
C++
#include <android/log.h>
|
|
#include <gtest/gtest.h>
|
|
|
|
#include "dvr_api_test.h"
|
|
|
|
namespace {
|
|
|
|
class DvrTrackingTest : public DvrApiTest {};
|
|
|
|
#if DVR_TRACKING_IMPLEMENTED
|
|
|
|
TEST_F(DvrTrackingTest, Implemented) {
|
|
ASSERT_TRUE(api_.TrackingCameraCreate != nullptr);
|
|
ASSERT_TRUE(api_.TrackingCameraStart != nullptr);
|
|
ASSERT_TRUE(api_.TrackingCameraStop != nullptr);
|
|
|
|
ASSERT_TRUE(api_.TrackingFeatureExtractorCreate != nullptr);
|
|
ASSERT_TRUE(api_.TrackingFeatureExtractorDestroy != nullptr);
|
|
ASSERT_TRUE(api_.TrackingFeatureExtractorStart != nullptr);
|
|
ASSERT_TRUE(api_.TrackingFeatureExtractorStop != nullptr);
|
|
ASSERT_TRUE(api_.TrackingFeatureExtractorProcessBuffer != nullptr);
|
|
}
|
|
|
|
TEST_F(DvrTrackingTest, CameraCreateFailsForInvalidInput) {
|
|
int ret;
|
|
ret = api_.TrackingCameraCreate(nullptr);
|
|
EXPECT_EQ(ret, -EINVAL);
|
|
|
|
DvrTrackingCamera* camera = reinterpret_cast<DvrTrackingCamera*>(42);
|
|
ret = api_.TrackingCameraCreate(&camera);
|
|
EXPECT_EQ(ret, -EINVAL);
|
|
}
|
|
|
|
TEST_F(DvrTrackingTest, CameraCreateDestroy) {
|
|
DvrTrackingCamera* camera = nullptr;
|
|
int ret = api_.TrackingCameraCreate(&camera);
|
|
|
|
EXPECT_EQ(ret, 0);
|
|
ASSERT_TRUE(camera != nullptr);
|
|
|
|
api_.TrackingCameraDestroy(camera);
|
|
}
|
|
|
|
TEST_F(DvrTrackingTest, FeatureExtractorCreateFailsForInvalidInput) {
|
|
int ret;
|
|
ret = api_.TrackingFeatureExtractorCreate(nullptr);
|
|
EXPECT_EQ(ret, -EINVAL);
|
|
|
|
DvrTrackingFeatureExtractor* camera =
|
|
reinterpret_cast<DvrTrackingFeatureExtractor*>(42);
|
|
ret = api_.TrackingFeatureExtractorCreate(&camera);
|
|
EXPECT_EQ(ret, -EINVAL);
|
|
}
|
|
|
|
TEST_F(DvrTrackingTest, FeatureExtractorCreateDestroy) {
|
|
DvrTrackingFeatureExtractor* camera = nullptr;
|
|
int ret = api_.TrackingFeatureExtractorCreate(&camera);
|
|
|
|
EXPECT_EQ(ret, 0);
|
|
ASSERT_TRUE(camera != nullptr);
|
|
|
|
api_.TrackingFeatureExtractorDestroy(camera);
|
|
}
|
|
|
|
#else // !DVR_TRACKING_IMPLEMENTED
|
|
|
|
TEST_F(DvrTrackingTest, NotImplemented) {
|
|
ASSERT_TRUE(api_.TrackingCameraCreate != nullptr);
|
|
ASSERT_TRUE(api_.TrackingCameraDestroy != nullptr);
|
|
ASSERT_TRUE(api_.TrackingCameraStart != nullptr);
|
|
ASSERT_TRUE(api_.TrackingCameraStop != nullptr);
|
|
|
|
EXPECT_EQ(api_.TrackingCameraCreate(nullptr), -ENOSYS);
|
|
EXPECT_EQ(api_.TrackingCameraStart(nullptr, nullptr), -ENOSYS);
|
|
EXPECT_EQ(api_.TrackingCameraStop(nullptr), -ENOSYS);
|
|
|
|
ASSERT_TRUE(api_.TrackingFeatureExtractorCreate != nullptr);
|
|
ASSERT_TRUE(api_.TrackingFeatureExtractorDestroy != nullptr);
|
|
ASSERT_TRUE(api_.TrackingFeatureExtractorStart != nullptr);
|
|
ASSERT_TRUE(api_.TrackingFeatureExtractorStop != nullptr);
|
|
ASSERT_TRUE(api_.TrackingFeatureExtractorProcessBuffer != nullptr);
|
|
|
|
EXPECT_EQ(api_.TrackingFeatureExtractorCreate(nullptr), -ENOSYS);
|
|
EXPECT_EQ(api_.TrackingFeatureExtractorStart(nullptr, nullptr, nullptr),
|
|
-ENOSYS);
|
|
EXPECT_EQ(api_.TrackingFeatureExtractorStop(nullptr), -ENOSYS);
|
|
EXPECT_EQ(api_.TrackingFeatureExtractorProcessBuffer(nullptr, nullptr,
|
|
nullptr, nullptr),
|
|
-ENOSYS);
|
|
|
|
ASSERT_TRUE(api_.TrackingSensorsCreate != nullptr);
|
|
ASSERT_TRUE(api_.TrackingSensorsDestroy != nullptr);
|
|
ASSERT_TRUE(api_.TrackingSensorsStart != nullptr);
|
|
ASSERT_TRUE(api_.TrackingSensorsStop != nullptr);
|
|
|
|
EXPECT_EQ(api_.TrackingSensorsCreate(nullptr, nullptr), -ENOSYS);
|
|
EXPECT_EQ(api_.TrackingSensorsStart(nullptr, nullptr, nullptr), -ENOSYS);
|
|
EXPECT_EQ(api_.TrackingSensorsStop(nullptr), -ENOSYS);
|
|
}
|
|
|
|
#endif // DVR_TRACKING_IMPLEMENTED
|
|
|
|
} // namespace
|