ceedling 0.21.0 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +1 -0
- data/bin/ceedling +3 -5
- data/ceedling-0.21.0.gem +0 -0
- data/ceedling.gemspec +1 -0
- data/lib/ceedling/configurator.rb +7 -1
- data/lib/ceedling/configurator_plugins.rb +21 -21
- data/lib/ceedling/generator_test_runner.rb +3 -46
- data/lib/ceedling/setupinator.rb +1 -0
- data/lib/ceedling/version.rb +4 -4
- data/plugins/module_generator/lib/module_generator.rb +14 -127
- data/plugins/module_generator/module_generator.rake +15 -3
- data/spec/spec_system_helper.rb +1 -1
- data/vendor/c_exception/release/build.info +1 -1
- data/vendor/c_exception/release/version.info +1 -1
- data/vendor/c_exception/vendor/unity/auto/generate_module.rb +202 -146
- data/vendor/c_exception/vendor/unity/auto/generate_test_runner.rb +1 -1
- data/vendor/c_exception/vendor/unity/examples/example_1/makefile +1 -1
- data/vendor/c_exception/vendor/unity/examples/example_2/makefile +1 -1
- data/vendor/c_exception/vendor/unity/examples/unity_config.h +11 -19
- data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.c +22 -26
- data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.h +9 -9
- data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_internals.h +15 -6
- data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +15 -15
- data/vendor/c_exception/vendor/unity/extras/fixture/test/Makefile +7 -13
- data/vendor/c_exception/vendor/unity/extras/fixture/test/main/AllTests.c +6 -6
- data/vendor/c_exception/vendor/unity/extras/fixture/test/template_fixture_tests.c +6 -6
- data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_Test.c +36 -29
- data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +6 -6
- data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.c +6 -6
- data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.h +6 -6
- data/vendor/c_exception/vendor/unity/release/build.info +1 -1
- data/vendor/c_exception/vendor/unity/release/version.info +1 -1
- data/vendor/c_exception/vendor/unity/src/unity.c +45 -72
- data/vendor/c_exception/vendor/unity/src/unity.h +3 -4
- data/vendor/c_exception/vendor/unity/src/unity_internals.h +71 -109
- data/vendor/c_exception/vendor/unity/test/Makefile +25 -13
- data/vendor/c_exception/vendor/unity/test/targets/gcc_32.yml +0 -1
- data/vendor/c_exception/vendor/unity/test/targets/gcc_64.yml +0 -1
- data/vendor/c_exception/vendor/unity/test/tests/testparameterized.c +11 -5
- data/vendor/c_exception/vendor/unity/test/tests/testunity.c +32 -29
- data/vendor/cmock/docs/CMock_Summary.md +4 -0
- data/vendor/cmock/lib/cmock_config.rb +7 -2
- data/vendor/cmock/lib/cmock_generator.rb +9 -1
- data/vendor/cmock/release/build.info +1 -1
- data/vendor/cmock/release/version.info +1 -1
- data/vendor/cmock/test/unit/cmock_generator_main_test.rb +7 -0
- data/vendor/cmock/vendor/c_exception/release/build.info +1 -1
- data/vendor/cmock/vendor/c_exception/release/version.info +1 -1
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_module.rb +202 -146
- data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_test_runner.rb +1 -1
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/makefile +1 -1
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/makefile +1 -1
- data/vendor/cmock/vendor/c_exception/vendor/unity/examples/unity_config.h +11 -19
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.c +22 -26
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.h +9 -9
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_internals.h +15 -6
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +15 -15
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/Makefile +7 -13
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/main/AllTests.c +6 -6
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/template_fixture_tests.c +6 -6
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_Test.c +36 -29
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +6 -6
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.c +6 -6
- data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.h +6 -6
- data/vendor/cmock/vendor/c_exception/vendor/unity/release/build.info +1 -1
- data/vendor/cmock/vendor/c_exception/vendor/unity/release/version.info +1 -1
- data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity.c +45 -72
- data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity.h +3 -4
- data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity_internals.h +71 -109
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/Makefile +25 -13
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_32.yml +0 -1
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_64.yml +0 -1
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/tests/testparameterized.c +11 -5
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/tests/testunity.c +32 -29
- data/vendor/cmock/vendor/unity/auto/generate_module.rb +202 -146
- data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +1 -1
- data/vendor/cmock/vendor/unity/examples/example_1/makefile +1 -1
- data/vendor/cmock/vendor/unity/examples/example_2/makefile +1 -1
- data/vendor/cmock/vendor/unity/examples/unity_config.h +11 -19
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +22 -26
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.h +9 -9
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_internals.h +15 -6
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +15 -15
- data/vendor/cmock/vendor/unity/extras/fixture/test/Makefile +7 -13
- data/vendor/cmock/vendor/unity/extras/fixture/test/main/AllTests.c +6 -6
- data/vendor/cmock/vendor/unity/extras/fixture/test/template_fixture_tests.c +6 -6
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_Test.c +36 -29
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +6 -6
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.c +6 -6
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.h +6 -6
- data/vendor/cmock/vendor/unity/release/build.info +1 -1
- data/vendor/cmock/vendor/unity/release/version.info +1 -1
- data/vendor/cmock/vendor/unity/src/unity.c +45 -72
- data/vendor/cmock/vendor/unity/src/unity.h +3 -4
- data/vendor/cmock/vendor/unity/src/unity_internals.h +71 -109
- data/vendor/cmock/vendor/unity/test/Makefile +25 -13
- data/vendor/cmock/vendor/unity/test/targets/gcc_32.yml +0 -1
- data/vendor/cmock/vendor/unity/test/targets/gcc_64.yml +0 -1
- data/vendor/cmock/vendor/unity/test/tests/testparameterized.c +11 -5
- data/vendor/cmock/vendor/unity/test/tests/testunity.c +32 -29
- data/vendor/unity/auto/generate_module.rb +202 -146
- data/vendor/unity/auto/generate_test_runner.rb +1 -1
- data/vendor/unity/examples/example_1/makefile +1 -1
- data/vendor/unity/examples/example_2/makefile +1 -1
- data/vendor/unity/examples/unity_config.h +11 -19
- data/vendor/unity/extras/fixture/src/unity_fixture.c +22 -26
- data/vendor/unity/extras/fixture/src/unity_fixture.h +9 -9
- data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +15 -6
- data/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +15 -15
- data/vendor/unity/extras/fixture/test/Makefile +7 -13
- data/vendor/unity/extras/fixture/test/main/AllTests.c +6 -6
- data/vendor/unity/extras/fixture/test/template_fixture_tests.c +6 -6
- data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +36 -29
- data/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +6 -6
- data/vendor/unity/extras/fixture/test/unity_output_Spy.c +6 -6
- data/vendor/unity/extras/fixture/test/unity_output_Spy.h +6 -6
- data/vendor/unity/release/build.info +1 -1
- data/vendor/unity/release/version.info +1 -1
- data/vendor/unity/src/unity.c +45 -72
- data/vendor/unity/src/unity.h +3 -4
- data/vendor/unity/src/unity_internals.h +71 -109
- data/vendor/unity/test/Makefile +25 -13
- data/vendor/unity/test/targets/gcc_32.yml +0 -1
- data/vendor/unity/test/targets/gcc_64.yml +0 -1
- data/vendor/unity/test/tests/testparameterized.c +11 -5
- data/vendor/unity/test/tests/testunity.c +32 -29
- metadata +17 -6
- data/vendor/c_exception/vendor/unity/test/targets/gcc_auto_sizeof.yml +0 -48
- data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_auto_sizeof.yml +0 -48
- data/vendor/cmock/vendor/unity/test/targets/gcc_auto_sizeof.yml +0 -48
- data/vendor/unity/test/targets/gcc_auto_sizeof.yml +0 -48
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
CC
|
|
1
|
+
CC = gcc
|
|
2
2
|
ifeq ($(shell uname -s), Darwin)
|
|
3
|
-
CC
|
|
3
|
+
CC = clang
|
|
4
|
+
CFLAGS += -std=c99 -pedantic -Wall -Weverything -Werror
|
|
5
|
+
CFLAGS += -Wno-unknown-warning-option -Wno-switch-enum
|
|
6
|
+
CFLAGS += -Wno-padded -Wno-double-promotion -Wno-missing-noreturn
|
|
7
|
+
CFLAGS += -Wno-missing-prototypes
|
|
8
|
+
endif
|
|
9
|
+
ifeq ($(shell uname -s), Linux)
|
|
10
|
+
CFLAGS += -std=c99 -pedantic -Wall -Wextra -Werror
|
|
4
11
|
endif
|
|
5
12
|
#DEBUG = -O0 -g
|
|
6
|
-
CFLAGS += -std=c99 -pedantic -Wall -Wextra -Werror -Wredundant-decls
|
|
7
13
|
CFLAGS += $(DEBUG)
|
|
8
14
|
DEFINES = -D UNITY_OUTPUT_CHAR=putcharSpy
|
|
9
15
|
DEFINES += -D UNITY_SUPPORT_64 -D UNITY_INCLUDE_DOUBLE -D UNITY_NO_WEAK
|
|
@@ -14,10 +20,9 @@ BUILD_DIR = build
|
|
|
14
20
|
TARGET = build/testunity-cov.exe
|
|
15
21
|
|
|
16
22
|
# To generate coverage, call 'make -s', the default target runs.
|
|
17
|
-
# To see missing coverage, follow up with 'make uncovered'.
|
|
18
23
|
# For verbose output of all the tests, run 'make test'.
|
|
19
24
|
default: coverage
|
|
20
|
-
.PHONY: default coverage
|
|
25
|
+
.PHONY: default coverage test clean
|
|
21
26
|
coverage: $(BUILD_DIR)/testunityRunner.c
|
|
22
27
|
cd $(BUILD_DIR) && \
|
|
23
28
|
$(CC) $(CFLAGS) $(DEFINES) $(foreach i,$(SRC), ../$i) $(COV_FLAGS) -o ../$(TARGET)
|
|
@@ -28,21 +33,28 @@ coverage: $(BUILD_DIR)/testunityRunner.c
|
|
|
28
33
|
grep '###' $(BUILD_DIR)/unity.c.gcov -C2 || true
|
|
29
34
|
|
|
30
35
|
test: CFLAGS += -Wbad-function-cast -Wcast-qual -Wconversion -Wformat=2 -Wold-style-definition \
|
|
31
|
-
-Wpointer-arith -Wshadow -Wstrict-overflow=5 -Wstrict-prototypes
|
|
32
|
-
-Wunreachable-code -Wunused -fstrict-aliasing
|
|
36
|
+
-Wpointer-arith -Wredundant-decls -Wshadow -Wstrict-overflow=5 -Wstrict-prototypes \
|
|
37
|
+
-Wswitch-default -Wundef -Wunreachable-code -Wunused -fstrict-aliasing
|
|
33
38
|
test: $(BUILD_DIR)/testunityRunner.c
|
|
34
39
|
$(CC) $(CFLAGS) $(DEFINES) $(INC_DIR) $(SRC) -o $(TARGET)
|
|
35
40
|
./$(TARGET)
|
|
36
41
|
|
|
42
|
+
# Compile only, for testing that preprocessor detection works
|
|
43
|
+
UNITY_C_ONLY =-c ../src/unity.c -o $(BUILD_DIR)/unity.o
|
|
44
|
+
intDetection:
|
|
45
|
+
$(CC) $(CFLAGS) $(INC_DIR) $(UNITY_C_ONLY) -D UNITY_EXCLUDE_STDINT_H
|
|
46
|
+
$(CC) $(CFLAGS) $(INC_DIR) $(UNITY_C_ONLY) -D UNITY_EXCLUDE_LIMITS_H
|
|
47
|
+
|
|
37
48
|
$(BUILD_DIR)/testunityRunner.c: tests/testunity.c | $(BUILD_DIR)
|
|
38
49
|
awk $(AWK_SCRIPT) tests/testunity.c > $@
|
|
39
50
|
|
|
40
|
-
AWK_SCRIPT
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
51
|
+
AWK_SCRIPT=\
|
|
52
|
+
'/^void test/{ declarations[d++]=$$0; gsub(/\(?void\)? ?/,""); tests[t++]=$$0; line[u++]=NR } \
|
|
53
|
+
END{ print "\#include \"unity.h\" /* Autogenerated by awk in Makefile */" ; \
|
|
54
|
+
for (i=0; i<d; i++) { print declarations[i] ";" } \
|
|
55
|
+
printf "int main(void)\n{\n UNITY_BEGIN();\n" ; \
|
|
56
|
+
for (i=0; i<t; i++) { print " RUN_TEST(" tests[i] ", " line[i] ");" } \
|
|
57
|
+
printf " return UNITY_END();\n}\n" }'
|
|
46
58
|
|
|
47
59
|
$(BUILD_DIR):
|
|
48
60
|
mkdir -p $(BUILD_DIR)
|
|
@@ -18,20 +18,26 @@ void putcharSpy(int c) { (void)putchar(c);} // include passthrough for linking t
|
|
|
18
18
|
|
|
19
19
|
#define VERIFY_FAILS_END \
|
|
20
20
|
} \
|
|
21
|
-
Unity.CurrentTestFailed = (Unity.CurrentTestFailed
|
|
21
|
+
Unity.CurrentTestFailed = (Unity.CurrentTestFailed != 0) ? 0 : 1; \
|
|
22
22
|
if (Unity.CurrentTestFailed == 1) { \
|
|
23
23
|
SetToOneMeanWeAlreadyCheckedThisGuy = 1; \
|
|
24
|
-
|
|
24
|
+
UnityPrintNumberUnsigned(Unity.CurrentTestLineNumber); \
|
|
25
|
+
UNITY_OUTPUT_CHAR(':'); \
|
|
26
|
+
UnityPrint(Unity.CurrentTestName); \
|
|
27
|
+
UnityPrint(":FAIL: [[[[ Test Should Have Failed But Did Not ]]]]"); \
|
|
25
28
|
UNITY_OUTPUT_CHAR('\n'); \
|
|
26
29
|
}
|
|
27
30
|
|
|
28
31
|
#define VERIFY_IGNORES_END \
|
|
29
32
|
} \
|
|
30
|
-
Unity.CurrentTestFailed = (Unity.CurrentTestIgnored
|
|
33
|
+
Unity.CurrentTestFailed = (Unity.CurrentTestIgnored != 0) ? 0 : 1; \
|
|
31
34
|
Unity.CurrentTestIgnored = 0; \
|
|
32
35
|
if (Unity.CurrentTestFailed == 1) { \
|
|
33
36
|
SetToOneMeanWeAlreadyCheckedThisGuy = 1; \
|
|
34
|
-
|
|
37
|
+
UnityPrintNumberUnsigned(Unity.CurrentTestLineNumber); \
|
|
38
|
+
UNITY_OUTPUT_CHAR(':'); \
|
|
39
|
+
UnityPrint(Unity.CurrentTestName); \
|
|
40
|
+
UnityPrint(":FAIL: [[[[ Test Should Have Ignored But Did Not ]]]]"); \
|
|
35
41
|
UNITY_OUTPUT_CHAR('\n'); \
|
|
36
42
|
}
|
|
37
43
|
|
|
@@ -50,7 +56,7 @@ void tearDown(void)
|
|
|
50
56
|
TEST_FAIL_MESSAGE("<= Failed in tearDown");
|
|
51
57
|
if ((SetToOneMeanWeAlreadyCheckedThisGuy == 0) && (Unity.CurrentTestFailed > 0))
|
|
52
58
|
{
|
|
53
|
-
UnityPrint("[[[[
|
|
59
|
+
UnityPrint(": [[[[ Test Should Have Passed But Did Not ]]]]");
|
|
54
60
|
UNITY_OUTPUT_CHAR('\n');
|
|
55
61
|
}
|
|
56
62
|
}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
[Released under MIT License. Please refer to license.txt for details]
|
|
5
5
|
========================================== */
|
|
6
6
|
|
|
7
|
-
#include <setjmp.h>
|
|
8
7
|
#include "unity.h"
|
|
8
|
+
#include <setjmp.h>
|
|
9
9
|
#include <string.h>
|
|
10
10
|
|
|
11
11
|
// Dividing by these constants produces +/- infinity.
|
|
@@ -19,31 +19,42 @@ static const _UD d_zero = 0.0;
|
|
|
19
19
|
#endif
|
|
20
20
|
|
|
21
21
|
#define EXPECT_ABORT_BEGIN \
|
|
22
|
+
startPutcharSpy(); \
|
|
22
23
|
if (TEST_PROTECT()) \
|
|
23
24
|
{
|
|
24
25
|
|
|
25
26
|
#define VERIFY_FAILS_END \
|
|
26
27
|
} \
|
|
28
|
+
endPutcharSpy(); /* start/end Spy to suppress output of failure message */ \
|
|
27
29
|
Unity.CurrentTestFailed = (Unity.CurrentTestFailed == 1) ? 0 : 1; \
|
|
28
30
|
if (Unity.CurrentTestFailed == 1) { \
|
|
29
31
|
SetToOneMeanWeAlreadyCheckedThisGuy = 1; \
|
|
30
32
|
UnityPrintNumberUnsigned(Unity.CurrentTestLineNumber); \
|
|
31
33
|
UNITY_OUTPUT_CHAR(':'); \
|
|
32
34
|
UnityPrint(Unity.CurrentTestName); \
|
|
33
|
-
UnityPrint("[[[[
|
|
35
|
+
UnityPrint(":FAIL: [[[[ Test Should Have Failed But Did Not ]]]]"); \
|
|
34
36
|
UNITY_OUTPUT_CHAR('\n'); \
|
|
35
37
|
}
|
|
36
38
|
|
|
37
39
|
#define VERIFY_IGNORES_END \
|
|
38
40
|
} \
|
|
41
|
+
endPutcharSpy(); /* start/end Spy to suppress output of ignore message */ \
|
|
39
42
|
Unity.CurrentTestFailed = (Unity.CurrentTestIgnored == 1) ? 0 : 1; \
|
|
40
43
|
Unity.CurrentTestIgnored = 0; \
|
|
41
44
|
if (Unity.CurrentTestFailed == 1) { \
|
|
42
45
|
SetToOneMeanWeAlreadyCheckedThisGuy = 1; \
|
|
43
|
-
|
|
46
|
+
UnityPrintNumberUnsigned(Unity.CurrentTestLineNumber); \
|
|
47
|
+
UNITY_OUTPUT_CHAR(':'); \
|
|
48
|
+
UnityPrint(Unity.CurrentTestName); \
|
|
49
|
+
UnityPrint(":FAIL: [[[[ Test Should Have Ignored But Did Not ]]]]"); \
|
|
44
50
|
UNITY_OUTPUT_CHAR('\n'); \
|
|
45
51
|
}
|
|
46
52
|
|
|
53
|
+
void startPutcharSpy(void);
|
|
54
|
+
void endPutcharSpy(void);
|
|
55
|
+
char* getBufferPutcharSpy(void);
|
|
56
|
+
void putcharSpy(int c);
|
|
57
|
+
|
|
47
58
|
static int SetToOneToFailInTearDown;
|
|
48
59
|
static int SetToOneMeanWeAlreadyCheckedThisGuy;
|
|
49
60
|
|
|
@@ -59,7 +70,7 @@ void tearDown(void)
|
|
|
59
70
|
TEST_FAIL_MESSAGE("<= Failed in tearDown");
|
|
60
71
|
if ((SetToOneMeanWeAlreadyCheckedThisGuy == 0) && (Unity.CurrentTestFailed > 0))
|
|
61
72
|
{
|
|
62
|
-
UnityPrint("[[[[
|
|
73
|
+
UnityPrint(": [[[[ Test Should Have Passed But Did Not ]]]]");
|
|
63
74
|
UNITY_OUTPUT_CHAR('\n');
|
|
64
75
|
}
|
|
65
76
|
}
|
|
@@ -1370,7 +1381,7 @@ void testNotEqualString4(void)
|
|
|
1370
1381
|
void testNotEqualStringLen4(void)
|
|
1371
1382
|
{
|
|
1372
1383
|
EXPECT_ABORT_BEGIN
|
|
1373
|
-
TEST_ASSERT_EQUAL_STRING_LEN("\r\x16", "
|
|
1384
|
+
TEST_ASSERT_EQUAL_STRING_LEN("ba\r\x16", "ba\r\n", 4);
|
|
1374
1385
|
VERIFY_FAILS_END
|
|
1375
1386
|
}
|
|
1376
1387
|
|
|
@@ -2272,6 +2283,14 @@ void testFailureCountIncrementsAndIsReturnedAtEnd(void)
|
|
|
2272
2283
|
TEST_ASSERT_EQUAL(1, failures);
|
|
2273
2284
|
}
|
|
2274
2285
|
|
|
2286
|
+
void testCstringsEscapeSequence(void)
|
|
2287
|
+
{
|
|
2288
|
+
startPutcharSpy();
|
|
2289
|
+
UnityPrint("\x16\x10");
|
|
2290
|
+
endPutcharSpy();
|
|
2291
|
+
TEST_ASSERT_EQUAL_STRING("\\x16\\x10", getBufferPutcharSpy());
|
|
2292
|
+
}
|
|
2293
|
+
|
|
2275
2294
|
#define TEST_ASSERT_EQUAL_PRINT_NUMBERS(expected, actual) { \
|
|
2276
2295
|
startPutcharSpy(); UnityPrintNumber((actual)); endPutcharSpy(); \
|
|
2277
2296
|
TEST_ASSERT_EQUAL_STRING((expected), getBufferPutcharSpy()); \
|
|
@@ -2778,14 +2797,12 @@ void testFloatsNotEqualExpectedNaN(void)
|
|
|
2778
2797
|
#endif
|
|
2779
2798
|
}
|
|
2780
2799
|
|
|
2781
|
-
void
|
|
2800
|
+
void testFloatsEqualBothNaN(void)
|
|
2782
2801
|
{
|
|
2783
2802
|
#ifdef UNITY_EXCLUDE_FLOAT
|
|
2784
2803
|
TEST_IGNORE();
|
|
2785
2804
|
#else
|
|
2786
|
-
EXPECT_ABORT_BEGIN
|
|
2787
2805
|
TEST_ASSERT_EQUAL_FLOAT(0.0f / f_zero, 0.0f / f_zero);
|
|
2788
|
-
VERIFY_FAILS_END
|
|
2789
2806
|
#endif
|
|
2790
2807
|
}
|
|
2791
2808
|
|
|
@@ -2833,14 +2850,12 @@ void testFloatsNotEqualExpectedInf(void)
|
|
|
2833
2850
|
#endif
|
|
2834
2851
|
}
|
|
2835
2852
|
|
|
2836
|
-
void
|
|
2853
|
+
void testFloatsEqualBothInf(void)
|
|
2837
2854
|
{
|
|
2838
2855
|
#ifdef UNITY_EXCLUDE_FLOAT
|
|
2839
2856
|
TEST_IGNORE();
|
|
2840
2857
|
#else
|
|
2841
|
-
EXPECT_ABORT_BEGIN
|
|
2842
2858
|
TEST_ASSERT_EQUAL_FLOAT(1.0f / f_zero, 1.0f / f_zero);
|
|
2843
|
-
VERIFY_FAILS_END
|
|
2844
2859
|
#endif
|
|
2845
2860
|
}
|
|
2846
2861
|
|
|
@@ -3175,7 +3190,7 @@ void testNotEqualFloatArraysNegative3(void)
|
|
|
3175
3190
|
#endif
|
|
3176
3191
|
}
|
|
3177
3192
|
|
|
3178
|
-
void
|
|
3193
|
+
void testEqualFloatArraysNaN(void)
|
|
3179
3194
|
{
|
|
3180
3195
|
#ifdef UNITY_EXCLUDE_FLOAT
|
|
3181
3196
|
TEST_IGNORE();
|
|
@@ -3183,13 +3198,11 @@ void testNotEqualFloatArraysNaN(void)
|
|
|
3183
3198
|
float p0[] = {1.0f, 0.0f / f_zero, 25.4f, 0.253f};
|
|
3184
3199
|
float p1[] = {1.0f, 0.0f / f_zero, 25.4f, 0.253f};
|
|
3185
3200
|
|
|
3186
|
-
EXPECT_ABORT_BEGIN
|
|
3187
3201
|
TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
|
|
3188
|
-
VERIFY_FAILS_END
|
|
3189
3202
|
#endif
|
|
3190
3203
|
}
|
|
3191
3204
|
|
|
3192
|
-
void
|
|
3205
|
+
void testEqualFloatArraysInf(void)
|
|
3193
3206
|
{
|
|
3194
3207
|
#ifdef UNITY_EXCLUDE_FLOAT
|
|
3195
3208
|
TEST_IGNORE();
|
|
@@ -3197,9 +3210,7 @@ void testNotEqualFloatArraysInf(void)
|
|
|
3197
3210
|
float p0[] = {1.0f, 1.0f / f_zero, 25.4f, 0.253f};
|
|
3198
3211
|
float p1[] = {1.0f, 1.0f / f_zero, 25.4f, 0.253f};
|
|
3199
3212
|
|
|
3200
|
-
EXPECT_ABORT_BEGIN
|
|
3201
3213
|
TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
|
|
3202
|
-
VERIFY_FAILS_END
|
|
3203
3214
|
#endif
|
|
3204
3215
|
}
|
|
3205
3216
|
|
|
@@ -3310,14 +3321,12 @@ void testDoublesNotEqualExpectedNaN(void)
|
|
|
3310
3321
|
#endif
|
|
3311
3322
|
}
|
|
3312
3323
|
|
|
3313
|
-
void
|
|
3324
|
+
void testDoublesEqualBothNaN(void)
|
|
3314
3325
|
{
|
|
3315
3326
|
#ifdef UNITY_EXCLUDE_DOUBLE
|
|
3316
3327
|
TEST_IGNORE();
|
|
3317
3328
|
#else
|
|
3318
|
-
EXPECT_ABORT_BEGIN
|
|
3319
3329
|
TEST_ASSERT_EQUAL_DOUBLE(0.0 / d_zero, 0.0 / d_zero);
|
|
3320
|
-
VERIFY_FAILS_END
|
|
3321
3330
|
#endif
|
|
3322
3331
|
}
|
|
3323
3332
|
|
|
@@ -3365,14 +3374,12 @@ void testDoublesNotEqualExpectedInf(void)
|
|
|
3365
3374
|
#endif
|
|
3366
3375
|
}
|
|
3367
3376
|
|
|
3368
|
-
void
|
|
3377
|
+
void testDoublesEqualBothInf(void)
|
|
3369
3378
|
{
|
|
3370
3379
|
#ifdef UNITY_EXCLUDE_DOUBLE
|
|
3371
3380
|
TEST_IGNORE();
|
|
3372
3381
|
#else
|
|
3373
|
-
EXPECT_ABORT_BEGIN
|
|
3374
3382
|
TEST_ASSERT_EQUAL_DOUBLE(1.0 / d_zero, 1.0 / d_zero);
|
|
3375
|
-
VERIFY_FAILS_END
|
|
3376
3383
|
#endif
|
|
3377
3384
|
}
|
|
3378
3385
|
|
|
@@ -3706,7 +3713,7 @@ void testNotEqualDoubleArraysNegative3(void)
|
|
|
3706
3713
|
#endif
|
|
3707
3714
|
}
|
|
3708
3715
|
|
|
3709
|
-
void
|
|
3716
|
+
void testEqualDoubleArraysNaN(void)
|
|
3710
3717
|
{
|
|
3711
3718
|
#ifdef UNITY_EXCLUDE_DOUBLE
|
|
3712
3719
|
TEST_IGNORE();
|
|
@@ -3714,13 +3721,11 @@ void testNotEqualDoubleArraysNaN(void)
|
|
|
3714
3721
|
double p0[] = {1.0, 0.0 / d_zero, 25.4, 0.253};
|
|
3715
3722
|
double p1[] = {1.0, 0.0 / d_zero, 25.4, 0.253};
|
|
3716
3723
|
|
|
3717
|
-
EXPECT_ABORT_BEGIN
|
|
3718
3724
|
TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 4);
|
|
3719
|
-
VERIFY_FAILS_END
|
|
3720
3725
|
#endif
|
|
3721
3726
|
}
|
|
3722
3727
|
|
|
3723
|
-
void
|
|
3728
|
+
void testEqualDoubleArraysInf(void)
|
|
3724
3729
|
{
|
|
3725
3730
|
#ifdef UNITY_EXCLUDE_DOUBLE
|
|
3726
3731
|
TEST_IGNORE();
|
|
@@ -3728,9 +3733,7 @@ void testNotEqualDoubleArraysInf(void)
|
|
|
3728
3733
|
double p0[] = {1.0, 1.0 / d_zero, 25.4, 0.253};
|
|
3729
3734
|
double p1[] = {1.0, 1.0 / d_zero, 25.4, 0.253};
|
|
3730
3735
|
|
|
3731
|
-
EXPECT_ABORT_BEGIN
|
|
3732
3736
|
TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 4);
|
|
3733
|
-
VERIFY_FAILS_END
|
|
3734
3737
|
#endif
|
|
3735
3738
|
}
|
|
3736
3739
|
|
|
@@ -287,6 +287,10 @@ Defined in the yaml file, they look more like this:
|
|
|
287
287
|
* `:mock_suffix`:
|
|
288
288
|
The suffix to append to your mock files. Defaults to “”.
|
|
289
289
|
|
|
290
|
+
* `:weak`:
|
|
291
|
+
When set to some value, the generated mocks are defined as weak symbols using the configured format. Defaults to ''.
|
|
292
|
+
Set to '__attribute ((weak))' for weak mocks when using GCC. Set to any non-empty string for weak mocks when using IAR.
|
|
293
|
+
|
|
290
294
|
* `:subdir`:
|
|
291
295
|
Relative subdir for your mocks. Set this to e.g. "sys" in order to
|
|
292
296
|
create mock for `sys/types.h` in `:mock_path`/sys/
|
|
@@ -12,6 +12,7 @@ class CMockConfig
|
|
|
12
12
|
:mock_path => 'mocks',
|
|
13
13
|
:mock_prefix => 'Mock',
|
|
14
14
|
:mock_suffix => '',
|
|
15
|
+
:weak => '',
|
|
15
16
|
:subdir => nil,
|
|
16
17
|
:plugins => [],
|
|
17
18
|
:strippables => ['(?:__attribute__\s*\(+.*?\)+)'],
|
|
@@ -58,6 +59,7 @@ class CMockConfig
|
|
|
58
59
|
end
|
|
59
60
|
end
|
|
60
61
|
options[:unity_helper_path] ||= options[:unity_helper]
|
|
62
|
+
options[:unity_helper_path] = [options[:unity_helper_path]] if options[:unity_helper_path].is_a? String
|
|
61
63
|
options[:plugins].compact!
|
|
62
64
|
options[:plugins].map! {|p| p.to_sym}
|
|
63
65
|
@options = options
|
|
@@ -84,8 +86,11 @@ class CMockConfig
|
|
|
84
86
|
end
|
|
85
87
|
|
|
86
88
|
def load_unity_helper
|
|
87
|
-
return
|
|
88
|
-
|
|
89
|
+
return nil unless (@options[:unity_helper_path])
|
|
90
|
+
|
|
91
|
+
return @options[:unity_helper_path].inject("") do |unity_helper, filename|
|
|
92
|
+
unity_helper + "\n" + File.new(filename).read
|
|
93
|
+
end
|
|
89
94
|
end
|
|
90
95
|
|
|
91
96
|
def standard_treat_as_map
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
class CMockGenerator
|
|
8
8
|
|
|
9
|
-
attr_accessor :config, :file_writer, :module_name, :clean_mock_name, :mock_name, :utils, :plugins, :ordered
|
|
9
|
+
attr_accessor :config, :file_writer, :module_name, :clean_mock_name, :mock_name, :utils, :plugins, :weak, :ordered
|
|
10
10
|
|
|
11
11
|
def initialize(config, file_writer, utils, plugins)
|
|
12
12
|
@file_writer = file_writer
|
|
@@ -15,6 +15,7 @@ class CMockGenerator
|
|
|
15
15
|
@config = config
|
|
16
16
|
@prefix = @config.mock_prefix
|
|
17
17
|
@suffix = @config.mock_suffix
|
|
18
|
+
@weak = @config.weak
|
|
18
19
|
@ordered = @config.enforce_strict_ordering
|
|
19
20
|
@framework = @config.framework.to_s
|
|
20
21
|
|
|
@@ -211,6 +212,13 @@ class CMockGenerator
|
|
|
211
212
|
args_string += (", " + function[:var_arg]) unless (function[:var_arg].nil?)
|
|
212
213
|
|
|
213
214
|
# Create mock function
|
|
215
|
+
if (not @weak.empty?)
|
|
216
|
+
file << "#if defined (__IAR_SYSTEMS_ICC__)\n"
|
|
217
|
+
file << "#pragma weak #{function[:name]}\n"
|
|
218
|
+
file << "#else\n"
|
|
219
|
+
file << "#{function_mod_and_rettype} #{function[:name]}(#{args_string}) #{weak};\n"
|
|
220
|
+
file << "#endif\n\n"
|
|
221
|
+
end
|
|
214
222
|
file << "#{function_mod_and_rettype} #{function[:name]}(#{args_string})\n"
|
|
215
223
|
file << "{\n"
|
|
216
224
|
file << " UNITY_LINE_TYPE cmock_line = TEST_LINE_NUM;\n"
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
215
|
|
2
2
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
2.4.
|
|
1
|
+
2.4.3
|
|
2
2
|
|
|
@@ -44,6 +44,7 @@ describe CMockGenerator, "Verify CMockGenerator Module" do
|
|
|
44
44
|
#no strict handling
|
|
45
45
|
@config.expect :mock_prefix, "Mock"
|
|
46
46
|
@config.expect :mock_suffix, ""
|
|
47
|
+
@config.expect :weak, ""
|
|
47
48
|
@config.expect :enforce_strict_ordering, nil
|
|
48
49
|
@config.expect :framework, :unity
|
|
49
50
|
@config.expect :includes, ["ConfigRequiredHeader1.h","ConfigRequiredHeader2.h"]
|
|
@@ -60,6 +61,7 @@ describe CMockGenerator, "Verify CMockGenerator Module" do
|
|
|
60
61
|
#strict handling
|
|
61
62
|
@config.expect :mock_prefix, "Mock"
|
|
62
63
|
@config.expect :mock_suffix, ""
|
|
64
|
+
@config.expect :weak, ""
|
|
63
65
|
@config.expect :enforce_strict_ordering, true
|
|
64
66
|
@config.expect :framework, :unity
|
|
65
67
|
@config.expect :includes, nil
|
|
@@ -80,6 +82,7 @@ describe CMockGenerator, "Verify CMockGenerator Module" do
|
|
|
80
82
|
it "create the top of a header file with optional include files from config and include file from plugin" do
|
|
81
83
|
@config.expect :mock_prefix, "Mock"
|
|
82
84
|
@config.expect :mock_suffix, ""
|
|
85
|
+
@config.expect :weak, ""
|
|
83
86
|
orig_filename = "PoutPoutFish.h"
|
|
84
87
|
define_name = "MOCKPOUTPOUTFISH_H"
|
|
85
88
|
mock_name = "MockPoutPoutFish"
|
|
@@ -116,6 +119,7 @@ describe CMockGenerator, "Verify CMockGenerator Module" do
|
|
|
116
119
|
#no strict handling
|
|
117
120
|
@config.expect :mock_prefix, "Mock"
|
|
118
121
|
@config.expect :mock_suffix, ""
|
|
122
|
+
@config.expect :weak, ""
|
|
119
123
|
@config.expect :enforce_strict_ordering, nil
|
|
120
124
|
@config.expect :framework, :unity
|
|
121
125
|
@config.expect :includes, ["ConfigRequiredHeader1.h","ConfigRequiredHeader2.h"]
|
|
@@ -130,6 +134,7 @@ describe CMockGenerator, "Verify CMockGenerator Module" do
|
|
|
130
134
|
|
|
131
135
|
@config.expect :mock_prefix, "Mock"
|
|
132
136
|
@config.expect :mock_suffix, ""
|
|
137
|
+
@config.expect :weak, ""
|
|
133
138
|
orig_filename = "Pout-Pout Fish.h"
|
|
134
139
|
define_name = "MOCKPOUT_POUT_FISH_H"
|
|
135
140
|
mock_name = "MockPout_Pout_Fish"
|
|
@@ -165,6 +170,7 @@ describe CMockGenerator, "Verify CMockGenerator Module" do
|
|
|
165
170
|
it "create the top of a header file with optional include files from config" do
|
|
166
171
|
@config.expect :mock_prefix, "Mock"
|
|
167
172
|
@config.expect :mock_suffix, ""
|
|
173
|
+
@config.expect :weak, ""
|
|
168
174
|
orig_filename = "PoutPoutFish.h"
|
|
169
175
|
define_name = "MOCKPOUTPOUTFISH_H"
|
|
170
176
|
mock_name = "MockPoutPoutFish"
|
|
@@ -199,6 +205,7 @@ describe CMockGenerator, "Verify CMockGenerator Module" do
|
|
|
199
205
|
it "create the top of a header file with include file from plugin" do
|
|
200
206
|
@config.expect :mock_prefix, "Mock"
|
|
201
207
|
@config.expect :mock_suffix, ""
|
|
208
|
+
@config.expect :weak, ""
|
|
202
209
|
orig_filename = "PoutPoutFish.h"
|
|
203
210
|
define_name = "MOCKPOUTPOUTFISH_H"
|
|
204
211
|
mock_name = "MockPoutPoutFish"
|