libcamera/test/public-api.cpp
Kieran Bingham fc9b226d19 test: Ensure LIBCAMERA_BASE_PRIVATE isn't public
If LIBCAMERA_BASE_PRIVATE is ever exposed on the libcamera public dependencies,
then the private.h header protection will be circumvented.

Provide a test which will fail (at compile time) if the LIBCAMERA_BASE_PRIVATE
define ever leaks to the public dependencies.

Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2021-06-25 16:11:11 +01:00

25 lines
431 B
C++

/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
* Copyright (C) 2021, Google Inc.
*
* public-api.cpp - Public API validation
*/
#include <libcamera/libcamera.h>
#include "test.h"
class PublicAPITest : public Test
{
int run()
{
#ifdef LIBCAMERA_BASE_PRIVATE
#error "Public interfaces should not be exposed to LIBCAMERA_BASE_PRIVATE"
return TestFail;
#else
return TestPass;
#endif
}
};
TEST_REGISTER(PublicAPITest)