Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: pal/Test/Unity/test/tests/testparameterized.c
- Revision:
- 0:06ee5f8a484a
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/pal/Test/Unity/test/tests/testparameterized.c Sat Mar 18 22:37:16 2017 +0000
@@ -0,0 +1,104 @@
+/* ==========================================
+ Unity Project - A Test Framework for C
+ Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
+ [Released under MIT License. Please refer to license.txt for details]
+========================================== */
+
+#include <setjmp.h>
+#include <stdio.h>
+#include "unity.h"
+
+void putcharSpy(int c) { (void)putchar(c);} // include passthrough for linking tests
+
+#define TEST_CASE(...)
+
+#define EXPECT_ABORT_BEGIN \
+ if (TEST_PROTECT()) \
+ {
+
+#define VERIFY_FAILS_END \
+ } \
+ Unity.CurrentTestFailed = (Unity.CurrentTestFailed == 1) ? 0 : 1; \
+ if (Unity.CurrentTestFailed == 1) { \
+ SetToOneMeanWeAlreadyCheckedThisGuy = 1; \
+ UnityPrint("[[[[ Previous Test Should Have Failed But Did Not ]]]]"); \
+ UNITY_OUTPUT_CHAR('\n'); \
+ }
+
+#define VERIFY_IGNORES_END \
+ } \
+ Unity.CurrentTestFailed = (Unity.CurrentTestIgnored == 1) ? 0 : 1; \
+ Unity.CurrentTestIgnored = 0; \
+ if (Unity.CurrentTestFailed == 1) { \
+ SetToOneMeanWeAlreadyCheckedThisGuy = 1; \
+ UnityPrint("[[[[ Previous Test Should Have Ignored But Did Not ]]]]"); \
+ UNITY_OUTPUT_CHAR('\n'); \
+ }
+
+int SetToOneToFailInTearDown;
+int SetToOneMeanWeAlreadyCheckedThisGuy;
+
+void setUp(void)
+{
+ SetToOneToFailInTearDown = 0;
+ SetToOneMeanWeAlreadyCheckedThisGuy = 0;
+}
+
+void tearDown(void)
+{
+ if (SetToOneToFailInTearDown == 1)
+ TEST_FAIL_MESSAGE("<= Failed in tearDown");
+ if ((SetToOneMeanWeAlreadyCheckedThisGuy == 0) && (Unity.CurrentTestFailed > 0))
+ {
+ UnityPrint("[[[[ Previous Test Should Have Passed But Did Not ]]]]");
+ UNITY_OUTPUT_CHAR('\n');
+ }
+}
+
+TEST_CASE(0)
+TEST_CASE(44)
+TEST_CASE((90)+9)
+void test_TheseShouldAllPass(int Num)
+{
+ TEST_ASSERT_TRUE(Num < 100);
+}
+
+TEST_CASE(3)
+TEST_CASE(77)
+TEST_CASE( (99) + 1 - (1))
+void test_TheseShouldAllFail(int Num)
+{
+ EXPECT_ABORT_BEGIN
+ TEST_ASSERT_TRUE(Num > 100);
+ VERIFY_FAILS_END
+}
+
+TEST_CASE(1)
+TEST_CASE(44)
+TEST_CASE(99)
+TEST_CASE(98)
+void test_TheseAreEveryOther(int Num)
+{
+ if (Num & 1)
+ {
+ EXPECT_ABORT_BEGIN
+ TEST_ASSERT_TRUE(Num > 100);
+ VERIFY_FAILS_END
+ }
+ else
+ {
+ TEST_ASSERT_TRUE(Num < 100);
+ }
+}
+
+void test_NormalPassesStillWork(void)
+{
+ TEST_ASSERT_TRUE(1);
+}
+
+void test_NormalFailsStillWork(void)
+{
+ EXPECT_ABORT_BEGIN
+ TEST_ASSERT_TRUE(0);
+ VERIFY_FAILS_END
+}