Add device_index parameter for camera performance test
BUG=None
TEST=Manually
Attach an external camera to a Chromebook, and pass device_index = 1
Change-Id: I3d71c8ad54c18c30a9d5f97a46727df4a13976c0
Reviewed-on: https://gerrit.chromium.org/gerrit/48636
Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org>
Commit-Queue: Justin Chuang <jchuang@chromium.org>
Tested-by: Justin Chuang <jchuang@chromium.org>
diff --git a/client/site_tests/factory_CameraPerformanceAls/factory_CameraPerformanceAls.py b/client/site_tests/factory_CameraPerformanceAls/factory_CameraPerformanceAls.py
index f9b2386..6b2fbd5 100644
--- a/client/site_tests/factory_CameraPerformanceAls/factory_CameraPerformanceAls.py
+++ b/client/site_tests/factory_CameraPerformanceAls/factory_CameraPerformanceAls.py
@@ -217,9 +217,6 @@
version = 2
preserve_srcdir = True
- # OpenCV will automatically search for a working camera device if we use
- # the index -1.
- _DEVICE_INDEX = -1
_TEST_CHART_FILE = 'test_chart.png'
_TEST_SAMPLE_FILE = 'sample.png'
@@ -521,7 +518,7 @@
def test_camera_functionality(self):
# Initialize the camera with OpenCV.
self.update_status(mid='init_cam')
- cam = cv2.VideoCapture(self._DEVICE_INDEX)
+ cam = cv2.VideoCapture(self.device_index)
if not cam.isOpened():
cam.release()
self.update_result('cam_stat', False)
@@ -767,7 +764,8 @@
return
def run_once(self, test_type = _TEST_TYPE_FULL, unit_test = False,
- use_als = True, log_good_image = False):
+ use_als = True, log_good_image = False,
+ device_index = -1):
'''The entry point of the test.
Args:
@@ -789,6 +787,7 @@
use_als: Whether to use the ambient light sensor.
log_good_image: Log images that pass that test
(By default, only failed images are logged)
+ device_index: video device index (-1 to auto pick device by OpenCV)
'''
factory.log('%s run_once' % self.__class__)
@@ -801,6 +800,7 @@
self.unit_test = unit_test
self.use_als = use_als
self.log_good_image = log_good_image
+ self.device_index = device_index
self.talk_to_fixture = use_als
self.config_loaded = False