libtest: camera_test: Plumb constructor to set LIBCAMERA_IPA_FORCE_ISOLATION

Some tests might require to have LIBCAMERA_IPA_FORCE_ISOLATION set
to ensure they can test the IPA running in isolated mode. These tests
are likely to leverage CameraTest. The environment variable should
be set before CameraManager::start() call which happens in CameraTest's
constructor. Hence, plumb the constructor with a flag so that the
LIBCAMERA_IPA_FORCE_ISOLATION can be set before CameraManager::start().

Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
Umang Jain 2021-08-18 14:32:46 +05:30
parent d0d1733027
commit cfa43199d3
2 changed files with 5 additions and 2 deletions

View file

@ -13,10 +13,13 @@
using namespace libcamera; using namespace libcamera;
using namespace std; using namespace std;
CameraTest::CameraTest(const char *name) CameraTest::CameraTest(const char *name, bool isolate)
{ {
cm_ = new CameraManager(); cm_ = new CameraManager();
if (isolate)
setenv("LIBCAMERA_IPA_FORCE_ISOLATION", "1", 1);
if (cm_->start()) { if (cm_->start()) {
cerr << "Failed to start camera manager" << endl; cerr << "Failed to start camera manager" << endl;
status_ = TestFail; status_ = TestFail;

View file

@ -17,7 +17,7 @@ using namespace libcamera;
class CameraTest class CameraTest
{ {
public: public:
CameraTest(const char *name); CameraTest(const char *name, bool isolate = false);
~CameraTest(); ~CameraTest();
protected: protected: