| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- // Copyright 2016-2021 Espressif Systems (Shanghai) Co. Ltd.
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- /* IDF-specific additions to "Unity Fixture".
- * This file doesn't need to be included directly, it gets included into unity.h
- * through unity_config.h.
- */
- #pragma once
- #include "sdkconfig.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- #if !defined(CONFIG_IDF_TARGET) || defined(CONFIG_IDF_TARGET_LINUX)
- #define UNITY_MAYBE_EXIT(rc) do { exit(rc); } while(0)
- #else
- #define UNITY_MAYBE_EXIT(rc) do { (void) rc; } while(0)
- #endif
- /* A shorthand for running all tests called from one function "func_", from the app_main function.
- * Use this when there is more than one test group.
- *
- * Example:
- *
- * #include "unity.h"
- * #include "unity_fixture.h"
- *
- * static_void run_all_tests(void) {
- * RUN_TEST_GROUP(group1); // test group defined in another file, e.g. test_group1.c
- * RUN_TEST_GROUP(group2); // test group defined in another file, e.g. test_group2.c
- * }
- *
- * void app_main(void) {
- * UNITY_MAIN_FUNC(run_all_tests);
- * }
- */
- #define UNITY_MAIN_FUNC(func_) do { \
- const char* argv[] = { "test", "-v" }; \
- const int argc = sizeof(argv)/sizeof(argv[0]); \
- int rc = UnityMain(argc, argv, func_); \
- printf("\nTests finished, rc=%d\n", rc); \
- UNITY_MAYBE_EXIT(rc); \
- } while(0)
- /* A shorthand for running one test group from the app_main function, when there is only
- * one test group and it is defined in the same file.
- *
- * Example:
- *
- * #include "unity.h"
- * #include "unity_fixture.h"
- *
- * TEST_GROUP(my_feature);
- * // also define TEST_SETUP, TEST_TEARDOWN, TESTs, TEST_GROUP_RUNNER
- *
- * void app_main(void) {
- * UNITY_MAIN(my_feature);
- * }
- */
- #define UNITY_MAIN(group_) UNITY_MAIN_FUNC(TEST_ ## group_ ## _GROUP_RUNNER)
- #ifdef __cplusplus
- }
- #endif
|