summaryrefslogtreecommitdiffstats
path: root/meta-selftest/recipes-test/cpp/files/test-cpp-example.cpp
diff options
context:
space:
mode:
authorAdrian Freihofer <adrian.freihofer@gmail.com>2023-12-07 21:52:49 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-12-13 11:58:15 +0000
commit2df986746b4010a24def7369f356b50e52bda50d (patch)
treecfd49ffcb07ac7060eebbec53e571e74fa35107a /meta-selftest/recipes-test/cpp/files/test-cpp-example.cpp
parentd7c05e4eed4ed436f2ce961df46f9654af83ffec (diff)
downloadpoky-2df986746b4010a24def7369f356b50e52bda50d.tar.gz
oe-selftest: add a cpp-example recipe
This simple C++ project supports compilation with CMake and Meson. (Autotool support could be added later on.) It's supposed to be used with oe-selftest. An artificial project has several advantages over compiling a normal CMake or Meson based project for testing purposes: - It is much faster because it can be kept minimalistic - It can cover multiple odd corner cases - No one will change it in an unpredictable way - It can support multiple build tools with only one C++ codebase (From OE-Core rev: 4904e772470b0d6e5d98ef0344b3f2bf54214661) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta-selftest/recipes-test/cpp/files/test-cpp-example.cpp')
-rw-r--r--meta-selftest/recipes-test/cpp/files/test-cpp-example.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/meta-selftest/recipes-test/cpp/files/test-cpp-example.cpp b/meta-selftest/recipes-test/cpp/files/test-cpp-example.cpp
new file mode 100644
index 0000000000..83c9bfa844
--- /dev/null
+++ b/meta-selftest/recipes-test/cpp/files/test-cpp-example.cpp
@@ -0,0 +1,25 @@
1/*
2* Copyright OpenEmbedded Contributors
3*
4* SPDX-License-Identifier: MIT
5*/
6
7#include "cpp-example-lib.hpp"
8
9#include <iostream>
10
11/* This is for creating a failing test for testing the test infrastructure */
12#ifndef FAIL_COMPARISON_STR
13#define FAIL_COMPARISON_STR ""
14#endif
15
16int main() {
17 auto cpp_example = CppExample();
18 auto ret_string = cpp_example.get_string();
19 if(0 == ret_string.compare(CppExample::test_string + FAIL_COMPARISON_STR)) {
20 std::cout << "PASS: " << ret_string << " = " << CppExample::test_string << std::endl;
21 } else {
22 std::cout << "FAIL: " << ret_string << " != " << CppExample::test_string << std::endl;
23 return 1;
24 }
25}