test: Drop pipeline test
The two pipeline test (for ipu3 and rkisp1) are meant to perform very basic validation of the corresponding pipeline handlers, limited to verifying camera enumeration. They are not unit tests as such, they are superseded by the lc-compliance tool, and they are never used in practice (and always skipped). Drop them. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Umang Jain <umang.jain@ideasonboard.com> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
This commit is contained in:
parent
d48e15d571
commit
c00a3a8f52
6 changed files with 0 additions and 274 deletions
|
@ -32,7 +32,6 @@ subdir('ipa')
|
||||||
subdir('ipc')
|
subdir('ipc')
|
||||||
subdir('log')
|
subdir('log')
|
||||||
subdir('media_device')
|
subdir('media_device')
|
||||||
subdir('pipeline')
|
|
||||||
subdir('process')
|
subdir('process')
|
||||||
subdir('py')
|
subdir('py')
|
||||||
subdir('serialization')
|
subdir('serialization')
|
||||||
|
|
|
@ -1,126 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2019, Google Inc.
|
|
||||||
*
|
|
||||||
* ipu3_pipeline_test.cpp - Intel IPU3 pipeline test
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <iostream>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
#include <libcamera/camera.h>
|
|
||||||
#include <libcamera/camera_manager.h>
|
|
||||||
|
|
||||||
#include "libcamera/internal/device_enumerator.h"
|
|
||||||
#include "libcamera/internal/media_device.h"
|
|
||||||
#include "libcamera/internal/media_object.h"
|
|
||||||
|
|
||||||
#include "test.h"
|
|
||||||
|
|
||||||
using namespace std;
|
|
||||||
using namespace libcamera;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Verify that the Intel IPU3 pipeline handler gets matched and cameras
|
|
||||||
* are enumerated correctly.
|
|
||||||
*
|
|
||||||
* The test is supposed to be run on an IPU3 platform, otherwise it gets
|
|
||||||
* skipped.
|
|
||||||
*
|
|
||||||
* The test lists all cameras registered in the system, if any camera is
|
|
||||||
* available at all.
|
|
||||||
*/
|
|
||||||
class IPU3PipelineTest : public Test
|
|
||||||
{
|
|
||||||
protected:
|
|
||||||
int init();
|
|
||||||
int run();
|
|
||||||
void cleanup();
|
|
||||||
|
|
||||||
private:
|
|
||||||
CameraManager *cameraManager_;
|
|
||||||
unsigned int sensors_;
|
|
||||||
};
|
|
||||||
|
|
||||||
int IPU3PipelineTest::init()
|
|
||||||
{
|
|
||||||
unique_ptr<DeviceEnumerator> enumerator = DeviceEnumerator::create();
|
|
||||||
if (!enumerator) {
|
|
||||||
cerr << "Failed to create device enumerator" << endl;
|
|
||||||
return TestFail;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (enumerator->enumerate()) {
|
|
||||||
cerr << "Failed to enumerate media devices" << endl;
|
|
||||||
return TestFail;
|
|
||||||
}
|
|
||||||
|
|
||||||
DeviceMatch imgu_dm("ipu3-imgu");
|
|
||||||
DeviceMatch cio2_dm("ipu3-cio2");
|
|
||||||
|
|
||||||
if (!enumerator->search(imgu_dm)) {
|
|
||||||
cerr << "Failed to find IPU3 IMGU: test skip" << endl;
|
|
||||||
return TestSkip;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::shared_ptr<MediaDevice> cio2 = enumerator->search(cio2_dm);
|
|
||||||
if (!cio2) {
|
|
||||||
cerr << "Failed to find IPU3 CIO2: test skip" << endl;
|
|
||||||
return TestSkip;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Camera sensor are connected to the CIO2 unit.
|
|
||||||
* Count how many sensors are connected in the system
|
|
||||||
* and later verify this matches the number of registered
|
|
||||||
* cameras.
|
|
||||||
*/
|
|
||||||
int ret = cio2->populate();
|
|
||||||
if (ret) {
|
|
||||||
cerr << "Failed to populate media device " << cio2->deviceNode() << endl;
|
|
||||||
return TestFail;
|
|
||||||
}
|
|
||||||
|
|
||||||
sensors_ = 0;
|
|
||||||
const vector<MediaEntity *> &entities = cio2->entities();
|
|
||||||
for (MediaEntity *entity : entities) {
|
|
||||||
if (entity->function() == MEDIA_ENT_F_CAM_SENSOR)
|
|
||||||
sensors_++;
|
|
||||||
}
|
|
||||||
|
|
||||||
enumerator.reset(nullptr);
|
|
||||||
|
|
||||||
cameraManager_ = new CameraManager();
|
|
||||||
ret = cameraManager_->start();
|
|
||||||
if (ret) {
|
|
||||||
cerr << "Failed to start the CameraManager" << endl;
|
|
||||||
return TestFail;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
int IPU3PipelineTest::run()
|
|
||||||
{
|
|
||||||
auto cameras = cameraManager_->cameras();
|
|
||||||
for (const std::shared_ptr<Camera> &cam : cameras)
|
|
||||||
cout << "Found camera '" << cam->id() << "'" << endl;
|
|
||||||
|
|
||||||
if (cameras.size() != sensors_) {
|
|
||||||
cerr << cameras.size() << " cameras registered, but " << sensors_
|
|
||||||
<< " were expected" << endl;
|
|
||||||
return TestFail;
|
|
||||||
}
|
|
||||||
|
|
||||||
return TestPass;
|
|
||||||
}
|
|
||||||
|
|
||||||
void IPU3PipelineTest::cleanup()
|
|
||||||
{
|
|
||||||
cameraManager_->stop();
|
|
||||||
delete cameraManager_;
|
|
||||||
}
|
|
||||||
|
|
||||||
TEST_REGISTER(IPU3PipelineTest)
|
|
|
@ -1,14 +0,0 @@
|
||||||
# SPDX-License-Identifier: CC0-1.0
|
|
||||||
|
|
||||||
ipu3_test = [
|
|
||||||
{'name': 'ipu3_pipeline_test', 'sources': ['ipu3_pipeline_test.cpp']},
|
|
||||||
]
|
|
||||||
|
|
||||||
foreach test : ipu3_test
|
|
||||||
exe = executable(test['name'], test['sources'],
|
|
||||||
dependencies : libcamera_private,
|
|
||||||
link_with : test_libraries,
|
|
||||||
include_directories : test_includes_internal)
|
|
||||||
|
|
||||||
test(test['name'], exe, suite : 'ipu3', is_parallel : false)
|
|
||||||
endforeach
|
|
|
@ -1,4 +0,0 @@
|
||||||
# SPDX-License-Identifier: CC0-1.0
|
|
||||||
|
|
||||||
subdir('ipu3')
|
|
||||||
subdir('rkisp1')
|
|
|
@ -1,14 +0,0 @@
|
||||||
# SPDX-License-Identifier: CC0-1.0
|
|
||||||
|
|
||||||
rkisp1_test = [
|
|
||||||
{'name': 'rkisp1_pipeline_test', 'sources': ['rkisp1_pipeline_test.cpp']},
|
|
||||||
]
|
|
||||||
|
|
||||||
foreach test : rkisp1_test
|
|
||||||
exe = executable(test['name'], test['sources'],
|
|
||||||
dependencies : libcamera_private,
|
|
||||||
link_with : test_libraries,
|
|
||||||
include_directories : test_includes_internal)
|
|
||||||
|
|
||||||
test(test['name'], exe, suite : 'rkisp1', is_parallel : false)
|
|
||||||
endforeach
|
|
|
@ -1,115 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2020, Linaro
|
|
||||||
*
|
|
||||||
* Based on test/pipeline/ipu3/ipu3_pipeline_test.cpp
|
|
||||||
*
|
|
||||||
* rkisp1_pipeline_test.cpp - Rockchip RK3399 rkisp1 pipeline test
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <iostream>
|
|
||||||
|
|
||||||
#include <sys/stat.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
#include <libcamera/camera.h>
|
|
||||||
#include <libcamera/camera_manager.h>
|
|
||||||
|
|
||||||
#include "libcamera/internal/device_enumerator.h"
|
|
||||||
#include "libcamera/internal/media_device.h"
|
|
||||||
#include "libcamera/internal/media_object.h"
|
|
||||||
|
|
||||||
#include "test.h"
|
|
||||||
|
|
||||||
using namespace std;
|
|
||||||
using namespace libcamera;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Verify that the RK3399 pipeline handler gets matched and cameras
|
|
||||||
* are enumerated correctly.
|
|
||||||
*
|
|
||||||
* The test is supposed to be run on rockchip platform.
|
|
||||||
*
|
|
||||||
* The test lists all cameras registered in the system, if any camera is
|
|
||||||
* available at all.
|
|
||||||
*/
|
|
||||||
class RKISP1PipelineTest : public Test
|
|
||||||
{
|
|
||||||
protected:
|
|
||||||
int init();
|
|
||||||
int run();
|
|
||||||
void cleanup();
|
|
||||||
|
|
||||||
private:
|
|
||||||
CameraManager *cameraManager_;
|
|
||||||
unsigned int sensors_;
|
|
||||||
};
|
|
||||||
|
|
||||||
int RKISP1PipelineTest::init()
|
|
||||||
{
|
|
||||||
unique_ptr<DeviceEnumerator> enumerator = DeviceEnumerator::create();
|
|
||||||
if (!enumerator) {
|
|
||||||
cerr << "Failed to create device enumerator" << endl;
|
|
||||||
return TestFail;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (enumerator->enumerate()) {
|
|
||||||
cerr << "Failed to enumerate media devices" << endl;
|
|
||||||
return TestFail;
|
|
||||||
}
|
|
||||||
|
|
||||||
DeviceMatch dm("rkisp1");
|
|
||||||
|
|
||||||
std::shared_ptr<MediaDevice> rkisp1 = enumerator->search(dm);
|
|
||||||
if (!rkisp1) {
|
|
||||||
cerr << "Failed to find rkisp1: test skip" << endl;
|
|
||||||
return TestSkip;
|
|
||||||
}
|
|
||||||
|
|
||||||
int ret = rkisp1->populate();
|
|
||||||
if (ret) {
|
|
||||||
cerr << "Failed to populate media device "
|
|
||||||
<< rkisp1->deviceNode() << endl;
|
|
||||||
return TestFail;
|
|
||||||
}
|
|
||||||
|
|
||||||
sensors_ = 0;
|
|
||||||
const vector<MediaEntity *> &entities = rkisp1->entities();
|
|
||||||
for (MediaEntity *entity : entities) {
|
|
||||||
if (entity->function() == MEDIA_ENT_F_CAM_SENSOR)
|
|
||||||
sensors_++;
|
|
||||||
}
|
|
||||||
|
|
||||||
cameraManager_ = new CameraManager();
|
|
||||||
ret = cameraManager_->start();
|
|
||||||
if (ret) {
|
|
||||||
cerr << "Failed to start the CameraManager" << endl;
|
|
||||||
return TestFail;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
int RKISP1PipelineTest::run()
|
|
||||||
{
|
|
||||||
auto cameras = cameraManager_->cameras();
|
|
||||||
for (const std::shared_ptr<Camera> &cam : cameras)
|
|
||||||
cout << "Found camera '" << cam->id() << "'" << endl;
|
|
||||||
|
|
||||||
if (cameras.size() != sensors_) {
|
|
||||||
cerr << cameras.size() << " cameras registered, but " << sensors_
|
|
||||||
<< " were expected" << endl;
|
|
||||||
return TestFail;
|
|
||||||
}
|
|
||||||
|
|
||||||
return TestPass;
|
|
||||||
}
|
|
||||||
|
|
||||||
void RKISP1PipelineTest::cleanup()
|
|
||||||
{
|
|
||||||
cameraManager_->stop();
|
|
||||||
delete cameraManager_;
|
|
||||||
}
|
|
||||||
|
|
||||||
TEST_REGISTER(RKISP1PipelineTest)
|
|
Loading…
Add table
Add a link
Reference in a new issue