FRDM K64F Metronome

Committer:
ram54288
Date:
Sun May 14 18:37:05 2017 +0000
Revision:
0:dbad57390bd1
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ram54288 0:dbad57390bd1 1 /* ==========================================
ram54288 0:dbad57390bd1 2 Unity Project - A Test Framework for C
ram54288 0:dbad57390bd1 3 Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
ram54288 0:dbad57390bd1 4 [Released under MIT License. Please refer to license.txt for details]
ram54288 0:dbad57390bd1 5 ========================================== */
ram54288 0:dbad57390bd1 6
ram54288 0:dbad57390bd1 7 #include <setjmp.h>
ram54288 0:dbad57390bd1 8 #include <stdio.h>
ram54288 0:dbad57390bd1 9 #include "unity.h"
ram54288 0:dbad57390bd1 10
ram54288 0:dbad57390bd1 11 void putcharSpy(int c) { (void)putchar(c);} // include passthrough for linking tests
ram54288 0:dbad57390bd1 12
ram54288 0:dbad57390bd1 13 #define TEST_CASE(...)
ram54288 0:dbad57390bd1 14
ram54288 0:dbad57390bd1 15 #define EXPECT_ABORT_BEGIN \
ram54288 0:dbad57390bd1 16 if (TEST_PROTECT()) \
ram54288 0:dbad57390bd1 17 {
ram54288 0:dbad57390bd1 18
ram54288 0:dbad57390bd1 19 #define VERIFY_FAILS_END \
ram54288 0:dbad57390bd1 20 } \
ram54288 0:dbad57390bd1 21 Unity.CurrentTestFailed = (Unity.CurrentTestFailed == 1) ? 0 : 1; \
ram54288 0:dbad57390bd1 22 if (Unity.CurrentTestFailed == 1) { \
ram54288 0:dbad57390bd1 23 SetToOneMeanWeAlreadyCheckedThisGuy = 1; \
ram54288 0:dbad57390bd1 24 UnityPrint("[[[[ Previous Test Should Have Failed But Did Not ]]]]"); \
ram54288 0:dbad57390bd1 25 UNITY_OUTPUT_CHAR('\n'); \
ram54288 0:dbad57390bd1 26 }
ram54288 0:dbad57390bd1 27
ram54288 0:dbad57390bd1 28 #define VERIFY_IGNORES_END \
ram54288 0:dbad57390bd1 29 } \
ram54288 0:dbad57390bd1 30 Unity.CurrentTestFailed = (Unity.CurrentTestIgnored == 1) ? 0 : 1; \
ram54288 0:dbad57390bd1 31 Unity.CurrentTestIgnored = 0; \
ram54288 0:dbad57390bd1 32 if (Unity.CurrentTestFailed == 1) { \
ram54288 0:dbad57390bd1 33 SetToOneMeanWeAlreadyCheckedThisGuy = 1; \
ram54288 0:dbad57390bd1 34 UnityPrint("[[[[ Previous Test Should Have Ignored But Did Not ]]]]"); \
ram54288 0:dbad57390bd1 35 UNITY_OUTPUT_CHAR('\n'); \
ram54288 0:dbad57390bd1 36 }
ram54288 0:dbad57390bd1 37
ram54288 0:dbad57390bd1 38 int SetToOneToFailInTearDown;
ram54288 0:dbad57390bd1 39 int SetToOneMeanWeAlreadyCheckedThisGuy;
ram54288 0:dbad57390bd1 40
ram54288 0:dbad57390bd1 41 void setUp(void)
ram54288 0:dbad57390bd1 42 {
ram54288 0:dbad57390bd1 43 SetToOneToFailInTearDown = 0;
ram54288 0:dbad57390bd1 44 SetToOneMeanWeAlreadyCheckedThisGuy = 0;
ram54288 0:dbad57390bd1 45 }
ram54288 0:dbad57390bd1 46
ram54288 0:dbad57390bd1 47 void tearDown(void)
ram54288 0:dbad57390bd1 48 {
ram54288 0:dbad57390bd1 49 if (SetToOneToFailInTearDown == 1)
ram54288 0:dbad57390bd1 50 TEST_FAIL_MESSAGE("<= Failed in tearDown");
ram54288 0:dbad57390bd1 51 if ((SetToOneMeanWeAlreadyCheckedThisGuy == 0) && (Unity.CurrentTestFailed > 0))
ram54288 0:dbad57390bd1 52 {
ram54288 0:dbad57390bd1 53 UnityPrint("[[[[ Previous Test Should Have Passed But Did Not ]]]]");
ram54288 0:dbad57390bd1 54 UNITY_OUTPUT_CHAR('\n');
ram54288 0:dbad57390bd1 55 }
ram54288 0:dbad57390bd1 56 }
ram54288 0:dbad57390bd1 57
ram54288 0:dbad57390bd1 58 TEST_CASE(0)
ram54288 0:dbad57390bd1 59 TEST_CASE(44)
ram54288 0:dbad57390bd1 60 TEST_CASE((90)+9)
ram54288 0:dbad57390bd1 61 void test_TheseShouldAllPass(int Num)
ram54288 0:dbad57390bd1 62 {
ram54288 0:dbad57390bd1 63 TEST_ASSERT_TRUE(Num < 100);
ram54288 0:dbad57390bd1 64 }
ram54288 0:dbad57390bd1 65
ram54288 0:dbad57390bd1 66 TEST_CASE(3)
ram54288 0:dbad57390bd1 67 TEST_CASE(77)
ram54288 0:dbad57390bd1 68 TEST_CASE( (99) + 1 - (1))
ram54288 0:dbad57390bd1 69 void test_TheseShouldAllFail(int Num)
ram54288 0:dbad57390bd1 70 {
ram54288 0:dbad57390bd1 71 EXPECT_ABORT_BEGIN
ram54288 0:dbad57390bd1 72 TEST_ASSERT_TRUE(Num > 100);
ram54288 0:dbad57390bd1 73 VERIFY_FAILS_END
ram54288 0:dbad57390bd1 74 }
ram54288 0:dbad57390bd1 75
ram54288 0:dbad57390bd1 76 TEST_CASE(1)
ram54288 0:dbad57390bd1 77 TEST_CASE(44)
ram54288 0:dbad57390bd1 78 TEST_CASE(99)
ram54288 0:dbad57390bd1 79 TEST_CASE(98)
ram54288 0:dbad57390bd1 80 void test_TheseAreEveryOther(int Num)
ram54288 0:dbad57390bd1 81 {
ram54288 0:dbad57390bd1 82 if (Num & 1)
ram54288 0:dbad57390bd1 83 {
ram54288 0:dbad57390bd1 84 EXPECT_ABORT_BEGIN
ram54288 0:dbad57390bd1 85 TEST_ASSERT_TRUE(Num > 100);
ram54288 0:dbad57390bd1 86 VERIFY_FAILS_END
ram54288 0:dbad57390bd1 87 }
ram54288 0:dbad57390bd1 88 else
ram54288 0:dbad57390bd1 89 {
ram54288 0:dbad57390bd1 90 TEST_ASSERT_TRUE(Num < 100);
ram54288 0:dbad57390bd1 91 }
ram54288 0:dbad57390bd1 92 }
ram54288 0:dbad57390bd1 93
ram54288 0:dbad57390bd1 94 void test_NormalPassesStillWork(void)
ram54288 0:dbad57390bd1 95 {
ram54288 0:dbad57390bd1 96 TEST_ASSERT_TRUE(1);
ram54288 0:dbad57390bd1 97 }
ram54288 0:dbad57390bd1 98
ram54288 0:dbad57390bd1 99 void test_NormalFailsStillWork(void)
ram54288 0:dbad57390bd1 100 {
ram54288 0:dbad57390bd1 101 EXPECT_ABORT_BEGIN
ram54288 0:dbad57390bd1 102 TEST_ASSERT_TRUE(0);
ram54288 0:dbad57390bd1 103 VERIFY_FAILS_END
ram54288 0:dbad57390bd1 104 }