From 0bda322678597f5b3fc0b59eb5c8295a4cd61b56 Mon Sep 17 00:00:00 2001 From: Jannis Date: Tue, 7 Feb 2023 23:00:22 +0100 Subject: [PATCH] Fix Unittest --- .vscode/settings.json | 3 + build-project.sh | 2 +- build/test/cache/defines_dependency.yml | 2 + build/test/cache/test_Umgebung.c | 61 +++++++++++++ build/test/dependencies/Umgebung.d | 1 + build/test/dependencies/test_Umgebung.d | 4 + .../test/dependencies/test_Umgebung_runner.d | 4 + build/test/out/c/Umgebung.o | Bin 0 -> 10720 bytes build/test/out/c/test_Umgebung.o | Bin 0 -> 6600 bytes build/test/out/c/test_Umgebung_runner.o | Bin 0 -> 9328 bytes build/test/out/test_Umgebung.out | Bin 0 -> 61288 bytes build/test/preprocess/files/test_Umgebung.c | 61 +++++++++++++ .../test/preprocess/includes/test_Umgebung.c | 3 + build/test/results/test_Spiellogik.pass | 2 +- build/test/results/test_Umgebung.pass | 22 +++++ build/test/results/test_test.pass | 2 +- build/test/runners/test_Umgebung_runner.c | 83 ++++++++++++++++++ src/Umgebung.c | 7 +- test/test_Umgebung.c | 1 - 19 files changed, 252 insertions(+), 6 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 build/test/cache/test_Umgebung.c create mode 100644 build/test/dependencies/Umgebung.d create mode 100644 build/test/dependencies/test_Umgebung.d create mode 100644 build/test/dependencies/test_Umgebung_runner.d create mode 100644 build/test/out/c/Umgebung.o create mode 100644 build/test/out/c/test_Umgebung.o create mode 100644 build/test/out/c/test_Umgebung_runner.o create mode 100755 build/test/out/test_Umgebung.out create mode 100644 build/test/preprocess/files/test_Umgebung.c create mode 100644 build/test/preprocess/includes/test_Umgebung.c create mode 100644 build/test/results/test_Umgebung.pass create mode 100644 build/test/runners/test_Umgebung_runner.c diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..70e34ec --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "C_Cpp.errorSquiggles": "disabled" +} \ No newline at end of file diff --git a/build-project.sh b/build-project.sh index 0eb086c..ed7808b 100755 --- a/build-project.sh +++ b/build-project.sh @@ -1 +1 @@ -ceedling test:all +ceedling test:all \ No newline at end of file diff --git a/build/test/cache/defines_dependency.yml b/build/test/cache/defines_dependency.yml index 592befa..9ac810c 100644 --- a/build/test/cache/defines_dependency.yml +++ b/build/test/cache/defines_dependency.yml @@ -5,3 +5,5 @@ src/probe.c: - TEST src/Spiellogik.c: - TEST +src/Umgebung.c: +- TEST diff --git a/build/test/cache/test_Umgebung.c b/build/test/cache/test_Umgebung.c new file mode 100644 index 0000000..90c9c5a --- /dev/null +++ b/build/test/cache/test_Umgebung.c @@ -0,0 +1,61 @@ +#include "src/Umgebung.h" +#include "/var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" + + +void setUp(void) + + { + + } + + + + void tearDown(void) + + { + + } + + void test_Umgebung_RealU(void){ + + + + int realU[20][20]; + + realU[14][15] = 0; + + int result = RealU(realU); + + + + UnityAssertEqualNumber((UNITY_INT)((1)), (UNITY_INT)((result)), ( + + ((void *)0) + + ), (UNITY_UINT)(17), UNITY_DISPLAY_STYLE_INT); + + + + + +} + +void test_Umgebung_delay(void){ + + + + + + + + int result = delay(2); + + + + UnityAssertEqualNumber((UNITY_INT)((2)), (UNITY_INT)((result)), ( + + ((void *)0) + + ), (UNITY_UINT)(27), UNITY_DISPLAY_STYLE_INT); + +} diff --git a/build/test/dependencies/Umgebung.d b/build/test/dependencies/Umgebung.d new file mode 100644 index 0000000..0c3f6ff --- /dev/null +++ b/build/test/dependencies/Umgebung.d @@ -0,0 +1 @@ +build/test/out/c/Umgebung.o: src/Umgebung.c diff --git a/build/test/dependencies/test_Umgebung.d b/build/test/dependencies/test_Umgebung.d new file mode 100644 index 0000000..a31a259 --- /dev/null +++ b/build/test/dependencies/test_Umgebung.d @@ -0,0 +1,4 @@ +build/test/out/c/test_Umgebung.o: test/test_Umgebung.c \ + /var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ + /var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h \ + src/Umgebung.h diff --git a/build/test/dependencies/test_Umgebung_runner.d b/build/test/dependencies/test_Umgebung_runner.d new file mode 100644 index 0000000..d0ee129 --- /dev/null +++ b/build/test/dependencies/test_Umgebung_runner.d @@ -0,0 +1,4 @@ +build/test/out/c/test_Umgebung_runner.o: \ + build/test/runners/test_Umgebung_runner.c \ + /var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ + /var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h diff --git a/build/test/out/c/Umgebung.o b/build/test/out/c/Umgebung.o new file mode 100644 index 0000000000000000000000000000000000000000..5ebeb88ee7c5eeef3b425838c54d453e1cfed283 GIT binary patch literal 10720 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 literal 0 HcmV?d00001 diff --git a/build/test/out/c/test_Umgebung.o b/build/test/out/c/test_Umgebung.o new file mode 100644 index 0000000000000000000000000000000000000000..00758b958bb7ab2c7656b577bb19622d6eca480f GIT binary patch literal 6600 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 literal 0 HcmV?d00001 diff --git a/build/test/preprocess/files/test_Umgebung.c b/build/test/preprocess/files/test_Umgebung.c new file mode 100644 index 0000000..90c9c5a --- /dev/null +++ b/build/test/preprocess/files/test_Umgebung.c @@ -0,0 +1,61 @@ +#include "src/Umgebung.h" +#include "/var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" + + +void setUp(void) + + { + + } + + + + void tearDown(void) + + { + + } + + void test_Umgebung_RealU(void){ + + + + int realU[20][20]; + + realU[14][15] = 0; + + int result = RealU(realU); + + + + UnityAssertEqualNumber((UNITY_INT)((1)), (UNITY_INT)((result)), ( + + ((void *)0) + + ), (UNITY_UINT)(17), UNITY_DISPLAY_STYLE_INT); + + + + + +} + +void test_Umgebung_delay(void){ + + + + + + + + int result = delay(2); + + + + UnityAssertEqualNumber((UNITY_INT)((2)), (UNITY_INT)((result)), ( + + ((void *)0) + + ), (UNITY_UINT)(27), UNITY_DISPLAY_STYLE_INT); + +} diff --git a/build/test/preprocess/includes/test_Umgebung.c b/build/test/preprocess/includes/test_Umgebung.c new file mode 100644 index 0000000..dbc3a98 --- /dev/null +++ b/build/test/preprocess/includes/test_Umgebung.c @@ -0,0 +1,3 @@ +--- +- "/var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" +- src/Umgebung.h diff --git a/build/test/results/test_Spiellogik.pass b/build/test/results/test_Spiellogik.pass index 0b597c3..f55d8b7 100644 --- a/build/test/results/test_Spiellogik.pass +++ b/build/test/results/test_Spiellogik.pass @@ -23,4 +23,4 @@ :failed: 0 :ignored: 0 :stdout: [] -:time: 0.0022634060005657375 +:time: 0.0010967800003527373 diff --git a/build/test/results/test_Umgebung.pass b/build/test/results/test_Umgebung.pass new file mode 100644 index 0000000..0065be7 --- /dev/null +++ b/build/test/results/test_Umgebung.pass @@ -0,0 +1,22 @@ +--- +:source: + :path: test + :file: test_Umgebung.c +:successes: +- :test: test_Umgebung_RealU + :line: 11 + :message: '' + :unity_test_time: 0 +- :test: test_Umgebung_delay + :line: 21 + :message: '' + :unity_test_time: 0 +:failures: [] +:ignores: [] +:counts: + :total: 2 + :passed: 2 + :failed: 0 + :ignored: 0 +:stdout: [] +:time: 0.0011177370001860254 diff --git a/build/test/results/test_test.pass b/build/test/results/test_test.pass index 256ebb6..4954641 100644 --- a/build/test/results/test_test.pass +++ b/build/test/results/test_test.pass @@ -15,4 +15,4 @@ :failed: 0 :ignored: 0 :stdout: [] -:time: 0.0015701629999966826 +:time: 0.0012317610003265145 diff --git a/build/test/runners/test_Umgebung_runner.c b/build/test/runners/test_Umgebung_runner.c new file mode 100644 index 0000000..a9d5731 --- /dev/null +++ b/build/test/runners/test_Umgebung_runner.c @@ -0,0 +1,83 @@ +/* AUTOGENERATED FILE. DO NOT EDIT. */ + +/*=======Automagically Detected Files To Include=====*/ +#include "unity.h" + +int GlobalExpectCount; +int GlobalVerifyOrder; +char* GlobalOrderError; + +/*=======External Functions This Runner Calls=====*/ +extern void setUp(void); +extern void tearDown(void); +extern void test_Umgebung_RealU(void); +extern void test_Umgebung_delay(void); + + +/*=======Mock Management=====*/ +static void CMock_Init(void) +{ + GlobalExpectCount = 0; + GlobalVerifyOrder = 0; + GlobalOrderError = NULL; +} +static void CMock_Verify(void) +{ +} +static void CMock_Destroy(void) +{ +} + +/*=======Test Reset Options=====*/ +void resetTest(void); +void resetTest(void) +{ + tearDown(); + CMock_Verify(); + CMock_Destroy(); + CMock_Init(); + setUp(); +} +void verifyTest(void); +void verifyTest(void) +{ + CMock_Verify(); +} + +/*=======Test Runner Used To Run Each Test=====*/ +static void run_test(UnityTestFunction func, const char* name, UNITY_LINE_TYPE line_num) +{ + Unity.CurrentTestName = name; + Unity.CurrentTestLineNumber = line_num; +#ifdef UNITY_USE_COMMAND_LINE_ARGS + if (!UnityTestMatches()) + return; +#endif + Unity.NumberOfTests++; + UNITY_CLR_DETAILS(); + UNITY_EXEC_TIME_START(); + CMock_Init(); + if (TEST_PROTECT()) + { + setUp(); + func(); + } + if (TEST_PROTECT()) + { + tearDown(); + CMock_Verify(); + } + CMock_Destroy(); + UNITY_EXEC_TIME_STOP(); + UnityConcludeTest(); +} + +/*=======MAIN=====*/ +int main(void) +{ + UnityBegin("test_Umgebung.c"); + run_test(test_Umgebung_RealU, "test_Umgebung_RealU", 11); + run_test(test_Umgebung_delay, "test_Umgebung_delay", 21); + + return UnityEnd(); +} diff --git a/src/Umgebung.c b/src/Umgebung.c index 9e0553f..47ed93d 100644 --- a/src/Umgebung.c +++ b/src/Umgebung.c @@ -17,6 +17,9 @@ void Score(int score); void Apfel(int realU[N][N]); void Umgebung(int str[N][N]); int delay(int ms); //in the first step it remains constant +/* + +Unittest funktioniert nicht wenn Dateien mit einer main Methode aufgerufen werden int main(){ srand(time(0));// damit wir ein Zufallszahl haben. @@ -42,8 +45,8 @@ int main(){ printf("Score: %d\n", score); }*/ - re 0; -} + // re 0; +//} void Anweisung(char s[N]){ diff --git a/test/test_Umgebung.c b/test/test_Umgebung.c index bc2d4e0..afff1a3 100644 --- a/test/test_Umgebung.c +++ b/test/test_Umgebung.c @@ -1,5 +1,4 @@ #include "unity.h" -#include "cmock.h" #include #include void setUp(void)