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>
25 lines
431 B
C++
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)
|