OSDN Git Service

Camera: Add unit test infrastructure for libcameraclient
authorIgor Murashkin <iam@google.com>
Thu, 21 Feb 2013 00:50:13 +0000 (16:50 -0800)
committerIgor Murashkin <iam@google.com>
Fri, 22 Feb 2013 18:50:14 +0000 (10:50 -0800)
Change-Id: I957538663ae8332d26f3640c63a75efc79f4ac5c

camera/Android.mk
camera/tests/Android.mk [new file with mode: 0644]
camera/tests/main.cpp [new file with mode: 0644]
include/camera/Camera.h
services/camera/libcameraservice/CameraService.cpp

index b66105b..a17ad1a 100644 (file)
@@ -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 (file)
index 0000000..586e814
--- /dev/null
@@ -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 (file)
index 0000000..8c8c515
--- /dev/null
@@ -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;
+}
index 43dae1c..8b87de6 100644 (file)
@@ -159,7 +159,7 @@ public:
         sp<Camera>         mCamera;
     };
 
-private:
+protected:
                         Camera();
                         Camera(const Camera&);
                         Camera& operator=(const Camera);
index 31e20c5..b1c594a 100644 (file)
@@ -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;