libcamera/test/camera/configuration_set.cpp
Laurent Pinchart 2ca2d65870 libcamera: camera: Rename configureStreams() and streamConfiguration()
Rename the configureStreams() and streamConfiguration() methods to
configure() and generateConfiguration() respectively in order to clarify
the API. Both methods deal with CameraConfiguration objects, and are
thus not limited to streams, even if a CameraConfiguration currently
contains streams only.

While at it, remove the qcam MainWindow::configureStreams() method that
is declared but never defined or used.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
2019-05-23 00:27:10 +03:00

89 lines
1.9 KiB
C++

/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
* Copyright (C) 2019, Google Inc.
*
* libcamera Camera API tests
*/
#include <iostream>
#include "camera_test.h"
using namespace std;
namespace {
class ConfigurationSet : public CameraTest
{
protected:
int run()
{
CameraConfiguration config =
camera_->generateConfiguration({ Stream::VideoRecording() });
StreamConfiguration *cfg = &config[config.front()];
if (!config.isValid()) {
cout << "Failed to read default configuration" << endl;
return TestFail;
}
if (camera_->acquire()) {
cout << "Failed to acquire the camera" << endl;
return TestFail;
}
/* Test that setting the default configuration works. */
if (camera_->configure(config)) {
cout << "Failed to set default configuration" << endl;
return TestFail;
}
/*
* Test that configuring the camera fails if it is not
* acquired, this will also test release and reacquiring
* of the camera.
*/
if (camera_->release()) {
cout << "Failed to release the camera" << endl;
return TestFail;
}
if (!camera_->configure(config)) {
cout << "Setting configuration on a camera not acquired succeeded when it should have failed"
<< endl;
return TestFail;
}
if (camera_->acquire()) {
cout << "Failed to acquire the camera" << endl;
return TestFail;
}
/*
* Test that modifying the default configuration works. Doubling
* the default configuration of the VIMC camera is known to
* work.
*/
cfg->size.width *= 2;
cfg->size.height *= 2;
if (camera_->configure(config)) {
cout << "Failed to set modified configuration" << endl;
return TestFail;
}
/*
* Test that setting an invalid configuration fails.
*/
cfg->size = { 0, 0 };
if (!camera_->configure(config)) {
cout << "Invalid configuration incorrectly accepted" << endl;
return TestFail;
}
return TestPass;
}
};
} /* namespace */
TEST_REGISTER(ConfigurationSet);