/* * Copyright (c) 2018 Google LLC. * * SPDX-License-Identifier: Apache-2.0 */ /* * This is mainly a parse test that verifies that Zephyr header files * compile in C++ mode. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include class foo_class { public: foo_class(int foo) : foo(foo) {} int get_foo() const { return foo;} private: int foo; }; struct foo { int v1; }; /* Check that BUILD_ASSERT compiles. */ BUILD_ASSERT(sizeof(foo) == sizeof(int)); static struct foo foos[5]; /* Check that ARRAY_SIZE compiles. */ BUILD_ASSERT(ARRAY_SIZE(foos) == 5, "expected 5 elements"); /* Check that SYS_INIT() compiles. */ static int test_init(const struct device *dev) { return 0; } SYS_INIT(test_init, APPLICATION, CONFIG_APPLICATION_INIT_PRIORITY); static void test_new_delete(void) { foo_class *test_foo = new foo_class(10); zassert_equal(test_foo->get_foo(), 10, NULL); delete test_foo; } void test_main(void) { ztest_test_suite(cpp_tests, ztest_unit_test(test_new_delete) ); ztest_run_test_suite(cpp_tests); }