diff options
author | Niklas Söderlund <niklas.soderlund@ragnatech.se> | 2018-12-20 16:41:50 +0100 |
---|---|---|
committer | Niklas Söderlund <niklas.soderlund@ragnatech.se> | 2018-12-31 00:58:32 +0100 |
commit | 20d15d9dc47fcfbf1f02689cc4c882115abe507f (patch) | |
tree | deadb8a32a52896b0b831cc1d0d45f75ccb6dbba /test/list.cpp | |
parent | 167f751701d838538c656b9ae2b566e005489f6c (diff) |
tests: add test to list all cameras in the system
Add simple test which lists all cameras detected in the system. The test
fails if no camera can be found.
Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Diffstat (limited to 'test/list.cpp')
-rw-r--r-- | test/list.cpp | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/test/list.cpp b/test/list.cpp new file mode 100644 index 00000000..39b8a41d --- /dev/null +++ b/test/list.cpp @@ -0,0 +1,54 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* + * Copyright (C) 2018, Google Inc. + * + * list.cpp - camera list tests + */ + +#include <iostream> + +#include <libcamera/camera_manager.h> + +#include "test.h" + +using namespace std; +using namespace libcamera; + +class ListTest : public Test +{ +protected: + int init() + { + cm = new CameraManager(); + if (!cm) + return -ENOMEM; + + cm->start(); + + return 0; + } + + int run() + { + unsigned int count = 0; + + for (auto name : cm->list()) { + cout << "- " << name << endl; + count++; + } + + return count ? 0 : -ENODEV; + } + + void cleanup() + { + cm->stop(); + + delete cm; + } + +private: + CameraManager *cm; +}; + +TEST_REGISTER(ListTest) |