summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIgor Murashkin <iam@google.com>2013-02-20 16:50:13 -0800
committerIgor Murashkin <iam@google.com>2013-02-22 10:50:14 -0800
commit1d88023e1de6b9f370eb4be944dd9c4480d01f11 (patch)
tree74f8b58c828f3045acf3ab8cb9d8f92046685fd8
parentfc42642ab78da5fe25bcbea7a568bf880268a9dc (diff)
downloadframeworks_av-1d88023e1de6b9f370eb4be944dd9c4480d01f11.zip
frameworks_av-1d88023e1de6b9f370eb4be944dd9c4480d01f11.tar.gz
frameworks_av-1d88023e1de6b9f370eb4be944dd9c4480d01f11.tar.bz2
Camera: Add unit test infrastructure for libcameraclient
Change-Id: I957538663ae8332d26f3640c63a75efc79f4ac5c
-rw-r--r--camera/Android.mk7
-rw-r--r--camera/tests/Android.mk36
-rw-r--r--camera/tests/main.cpp27
-rw-r--r--include/camera/Camera.h2
-rw-r--r--services/camera/libcameraservice/CameraService.cpp1
5 files changed, 70 insertions, 3 deletions
diff --git a/camera/Android.mk b/camera/Android.mk
index b66105b..a17ad1a 100644
--- a/camera/Android.mk
+++ b/camera/Android.mk
@@ -1,6 +1,9 @@
-LOCAL_PATH:= $(call my-dir)
+CAMERA_CLIENT_LOCAL_PATH:= $(call my-dir)
+include $(call all-subdir-makefiles)
include $(CLEAR_VARS)
+LOCAL_PATH := $(CAMERA_CLIENT_LOCAL_PATH)
+
LOCAL_SRC_FILES:= \
Camera.cpp \
CameraMetadata.cpp \
@@ -21,7 +24,7 @@ LOCAL_SHARED_LIBRARIES := \
libcamera_metadata \
LOCAL_C_INCLUDES += \
- system/media/camera/include
+ system/media/camera/include \
LOCAL_MODULE:= libcamera_client
diff --git a/camera/tests/Android.mk b/camera/tests/Android.mk
new file mode 100644
index 0000000..586e814
--- /dev/null
+++ b/camera/tests/Android.mk
@@ -0,0 +1,36 @@
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES:= \
+ main.cpp \
+
+LOCAL_SHARED_LIBRARIES := \
+ libutils \
+ libcutils \
+ libstlport \
+ libcamera_metadata \
+ libcamera_client \
+ libgui \
+ libsync \
+ libui \
+ libdl
+
+LOCAL_STATIC_LIBRARIES := \
+ libgtest
+
+LOCAL_C_INCLUDES += \
+ bionic \
+ bionic/libstdc++/include \
+ external/gtest/include \
+ external/stlport/stlport \
+ system/media/camera/include \
+ frameworks/av/services/camera/libcameraservice \
+ frameworks/av/include/camera \
+ frameworks/native/include \
+
+LOCAL_CFLAGS += -Wall -Wextra
+
+LOCAL_MODULE:= camera_client_test
+LOCAL_MODULE_TAGS := tests
+
+include $(BUILD_EXECUTABLE)
diff --git a/camera/tests/main.cpp b/camera/tests/main.cpp
new file mode 100644
index 0000000..8c8c515
--- /dev/null
+++ b/camera/tests/main.cpp
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <gtest/gtest.h>
+
+
+int main(int argc, char **argv) {
+
+ ::testing::InitGoogleTest(&argc, argv);
+
+ int ret = RUN_ALL_TESTS();
+
+ return ret;
+}
diff --git a/include/camera/Camera.h b/include/camera/Camera.h
index 43dae1c..8b87de6 100644
--- a/include/camera/Camera.h
+++ b/include/camera/Camera.h
@@ -159,7 +159,7 @@ public:
sp<Camera> mCamera;
};
-private:
+protected:
Camera();
Camera(const Camera&);
Camera& operator=(const Camera);
diff --git a/services/camera/libcameraservice/CameraService.cpp b/services/camera/libcameraservice/CameraService.cpp
index 31e20c5..b1c594a 100644
--- a/services/camera/libcameraservice/CameraService.cpp
+++ b/services/camera/libcameraservice/CameraService.cpp
@@ -166,6 +166,7 @@ sp<ICamera> CameraService::connect(
callingPid);
return client;
} else {
+ // TODOSC: need to support 1 regular client, multiple shared clients here
ALOGW("CameraService::connect X (pid %d) rejected (existing client).",
callingPid);
return NULL;