From d99a1f5ba0801ef861bec51283c64bbd12cb03b7 Mon Sep 17 00:00:00 2001 From: Jannis Date: Mon, 6 Feb 2023 10:18:18 +0100 Subject: [PATCH] =?UTF-8?q?Unittest=20setup=20f=C3=BCr=20Spiellogik?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/test/cache/defines_dependency.yml | 2 + build/test/cache/test_Spiellogik.c | 35 ++++++++ build/test/dependencies/Spiellogik.d | 1 + build/test/dependencies/test_Spiellogik.d | 4 + .../dependencies/test_Spiellogik_runner.d | 4 + build/test/out/c/Spiellogik.o | Bin 0 -> 6096 bytes build/test/out/c/probe.o | Bin 3320 -> 3376 bytes build/test/out/c/test_Spiellogik.o | Bin 0 -> 5944 bytes build/test/out/c/test_Spiellogik_runner.o | Bin 0 -> 9112 bytes build/test/out/c/test_test.o | Bin 5864 -> 5912 bytes build/test/out/test_Spiellogik.out | Bin 0 -> 60032 bytes build/test/out/test_test.out | Bin 58752 -> 58992 bytes build/test/preprocess/files/test_Spiellogik.c | 35 ++++++++ .../preprocess/includes/test_Spiellogik.c | 3 + build/test/results/test_Spiellogik.pass | 18 ++++ build/test/results/test_test.pass | 2 +- build/test/runners/test_Spiellogik_runner.c | 81 ++++++++++++++++++ src/Spiellogik.c | 4 + src/Spiellogik.h | 8 ++ test/test_Spiellogik.c | 17 ++++ 20 files changed, 213 insertions(+), 1 deletion(-) create mode 100644 build/test/cache/test_Spiellogik.c create mode 100644 build/test/dependencies/Spiellogik.d create mode 100644 build/test/dependencies/test_Spiellogik.d create mode 100644 build/test/dependencies/test_Spiellogik_runner.d create mode 100644 build/test/out/c/Spiellogik.o create mode 100644 build/test/out/c/test_Spiellogik.o create mode 100644 build/test/out/c/test_Spiellogik_runner.o create mode 100755 build/test/out/test_Spiellogik.out create mode 100644 build/test/preprocess/files/test_Spiellogik.c create mode 100644 build/test/preprocess/includes/test_Spiellogik.c create mode 100644 build/test/results/test_Spiellogik.pass create mode 100644 build/test/runners/test_Spiellogik_runner.c create mode 100644 src/Spiellogik.h create mode 100644 test/test_Spiellogik.c diff --git a/build/test/cache/defines_dependency.yml b/build/test/cache/defines_dependency.yml index 12137d3..592befa 100644 --- a/build/test/cache/defines_dependency.yml +++ b/build/test/cache/defines_dependency.yml @@ -3,3 +3,5 @@ src/test.c: - TEST src/probe.c: - TEST +src/Spiellogik.c: +- TEST diff --git a/build/test/cache/test_Spiellogik.c b/build/test/cache/test_Spiellogik.c new file mode 100644 index 0000000..8a5021a --- /dev/null +++ b/build/test/cache/test_Spiellogik.c @@ -0,0 +1,35 @@ +#include "src/Spiellogik.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_test1(void){ + + + + int result = probe(2); + + + + UnityAssertEqualNumber((UNITY_INT)((2)), (UNITY_INT)((result)), ( + +((void *)0) + +), (UNITY_UINT)(16), UNITY_DISPLAY_STYLE_INT); + +} diff --git a/build/test/dependencies/Spiellogik.d b/build/test/dependencies/Spiellogik.d new file mode 100644 index 0000000..ed54659 --- /dev/null +++ b/build/test/dependencies/Spiellogik.d @@ -0,0 +1 @@ +build/test/out/c/Spiellogik.o: src/Spiellogik.c diff --git a/build/test/dependencies/test_Spiellogik.d b/build/test/dependencies/test_Spiellogik.d new file mode 100644 index 0000000..8e19191 --- /dev/null +++ b/build/test/dependencies/test_Spiellogik.d @@ -0,0 +1,4 @@ +build/test/out/c/test_Spiellogik.o: test/test_Spiellogik.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/Spiellogik.h diff --git a/build/test/dependencies/test_Spiellogik_runner.d b/build/test/dependencies/test_Spiellogik_runner.d new file mode 100644 index 0000000..0eb0eca --- /dev/null +++ b/build/test/dependencies/test_Spiellogik_runner.d @@ -0,0 +1,4 @@ +build/test/out/c/test_Spiellogik_runner.o: \ + build/test/runners/test_Spiellogik_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/Spiellogik.o b/build/test/out/c/Spiellogik.o new file mode 100644 index 0000000000000000000000000000000000000000..a4a2861b37f64ff8dd961e7a26882ebab4e8bb65 GIT binary patch literal 6096 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 V@xbJXJocO#ASVOCvB{Dg@&M7?bzlGh delta 394 zcmdlW^+R%k2IG#6nok%f&t}r#arX;Va5gkoFf`ILnk>oG6t16UyHm@v7MtDP}tvLLrPr#>@8z1rkJZgZwk=E)z~#U?M{)?kd7e3ILqv0^eOk3G{3 hw#i;Rc8nV)ck zZo0eYCZU2zsVW5|a1bh?>IYPcpi-+=2&5KO1k?%@_|SYn0-=6DNK}oeRPpBnfRTrN_>lN}|406{ zSi17()rVe-nU*fUo4Ia+_&ca_W%kzBW^a|QO~1Sos8=%3{S@)im0zw2t^Vq@zd!&f zVe}$z6LufQF4`6%gxO0nW^W3?-ejubhQgHErYU(zIT$@CVwxmrN-DXGP%=rJULK@C zhA5gpleIvArr*mRQqv#o`Z`RL&no(dyS{_;kD=SVDfs{l=C=)F9F{{V-AVlb_1h!J z5Y2C=ejoMwBgiPtr>Q?m{W0oG)L*6kn_>$%6XuVM#Op97(Pg@~g^ES!iw?2N6HJe*Ep2hDi;XCTv0)4m=QHLo@WiP7F6 zBaIz2<7vVvgGjI8!Wb2azC8e#w~KUoDxCm-iIkYz0SmcJ##A~DHV&unN!^_` zz}6PBO(dF5_d^Ug*=iZ&gE%9@_YR}*whjo9j1151kZ@l&ETeghH2TLe^t6oJ9DG9;T4CFDj?^62 z@f#H&ZNE}Ka(;3mH!+^g)v~!|JGkIh>b~cC?I727A8okRTxge@P5{gxv@2(G=X@`8 zDxv4+f)E5zOEM}=JE$vm!*hXAS&q;f#d+{RET=U4*+~&N;o`Yi_DpH|L9yKQ>@b#% zsS#~=ea^bm1Wq7LGMn9;#raRq-~X9;LFw-pqJ5})ewgioASY!f)(nI(8Oy)`Cq>n3 zLvlsv1mO~P1(@3YG4D}#EqL^~Rta5xeJ5x);}d}Ek6RbuSTb%Syf7UEjvvlG(zcuP z?N-_GMWnX6vjKU6Z3<}R7>~4!K04(|6JAf8#5 z;mZdOSYzWKW0=l2Jl62xfENiIF?f>x9I*uaVZ)aNHsj)h!Z@EXc5mI(i#ORG!0-DrIM>7MVx;c^q(Bk`#F8Lm{q6|Khoj1RIE^(M#xjr*gwg8;=%BT(LUOF zl5zFQQ22is|GZ|0-h6!&M!h&~R0k_+uHHzOF2xa;?$z7ByVu`HLE^_EA{D zg%Z@V?8 zTLs=uj#2?XYKrg@(G{I#cF~JW=(da4u6tirp~7`?A2z*zduDWN37{|IqJX+hx z`WALEP4|z#qS5C6t3Ls{x=nPe{J*C$HB#U`9k+h@cogCqKPGVfc)#oG$L~Y836QwV zMgATVk*3Qo0#C>?vTx#ea?dozuO47`q-n-v7Ey^z{t;UqK?$blEEK z;{3nC{(sN9m_IBj-9NrF(5Al5A`+2;VmP@`ues=UPdStKG&H~S0Vp?_Wf1`D2#=;Bn@ ze-*H}{rhf4DwgCx-~T{FUw!{^zEP#LSt?F)a(1$=@~`w!Oxt2oyu|0vr=*!q&*nNb S#uTUj4#)qSj-;IE`u_uS->y^u literal 0 HcmV?d00001 diff --git a/build/test/out/c/test_Spiellogik_runner.o b/build/test/out/c/test_Spiellogik_runner.o new file mode 100644 index 0000000000000000000000000000000000000000..53531973c7339573188976c8ed0d50f54b3934a6 GIT binary patch literal 9112 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 DO;(^j delta 611 zcmbQC_d<7q24luXO#_z6jI1J)f3vtuR$>#M9Ko77nUP&$@&VQ)9(TV`1!qHZ1w$h} zqsgf(O>9M}#icnVlUPMJhp_1|x|SxD=9QG{yW}UA=BDPA6zc~RPyV-&4*vS|9#U+zq)}hJH0fvpZ3_$%X>roI9YR?vp?Ai*L>lIKjx+FxgP(|6~Ipj>#6nI~YACe-y5t{6Uywa)n3( z(aX01}OWO#lD@ diff --git a/build/test/out/test_Spiellogik.out b/build/test/out/test_Spiellogik.out new file mode 100755 index 0000000000000000000000000000000000000000..a5c43112dc93566f71c66c17147321c96dfa1f2f GIT binary patch literal 60032 zcmeFa3w%|@)d#vCXOeUBI(b4M0*5y!B;lnXAOUjV1QUpmR6y+^BqtBa1Cw)jwMZn` zn#L$pTd^Mnw6?WYs_kbLMJ3=PQK^mAT3TPUf(=3|Dy^yVnfqV!*k_+Zu)W{Czk7eb zd)dEa&&*nD)~s2xX3fl=IeTyM7A`P!T~n8-U8PZ~BUwQ5BqHz6GJ+sao316|K3W^4 z#USnAFoDk#0kGmaYD9)k2{#c^zD$br6J8>~nhKSK6jHtmUa9~U%6d>fMww(fIvg@h za8#kfTjdoCycQJ(-2$#cdp^?5-a3KbyE!scdKtG(z*Rm{7v+0Y=6h7;Q{fq@2oW@$6 z1>oNW+=KtrkNT8#*)p)c1K78cB#@1LAK z)rw6CM<-`b)BFV`MgEFFW1y<0DHv!hDVmRR10`jvYXjh0Ro752OY{rUehE<<1MRG% z{~EZfe^a{}7-h%lH8qLU!^tWL_SlZ^qxntEFVmsHH824~yAf%+l)q8^d~b??KPdf) zg0GTrXS2X7xJrAX;2V|+x^YqPM5`J`x#xLq~_WpRx23LKb2zzXB(NB4H?TihsbWNCE z8(j5eg725`Sj5Tp)zx8xliyHRmkrLxJBjGF!HL(!>!JoOYT%*;cTEePDhG@`F2%qJ)R+}GE) zou_GH^2y29tTauKJ~?^FO4G#Xlas$xX>i-jx#eq|AJP+}(xao&L!#0d_VlE`6|}zg zbzkdWd@aY%6qk4>bxeB6*FO6s#OllVv|iKBR%W}0ZG#Y~VEgP_kk{AFHc>F6H<*E{ zzX>9$x~uP)dss8kJtsrZU&HCAEuvujm%i3BzC(YX<2%%A`t%oluYDOz2ZJ9=2F|`? zmF{7vm&#B2X`W5uYN5+YeJ!)Mf>QIfo(LxR+Gc+XiJp^R_Vx8tKshh6zag#PfV>g; zPp$`&7?mPlC;JU?z}3k*Wz5&fI%IVF4bLgc{-ZsEpq8Ga;Mnsn-5#LZ=U`_e?|BkH zTN(!9@wIO5^|gl1_*zSQd~IHYtQut^+Jk6_N7*_GS~_$<)=;#Q`4G^Bs8>dNCV@K| z;3lGI?d%zZ`jgDJc7)=4))H--w-+|p&X!1u&;G}vi0fGaik?i8dMMq-#Y6O$tV$!- z#My#x{iT}rR08p9XP0r?Xp;SGJ4!b!`M%~YLK%$S&_4S>qSJ=eR zfP>eAanGLsKG;aHZXzgB1aXSsNg{xzw4O(ZV1mf@BZ6)q=)H)^Og@zKEY*cHFb>_) zt~t@j)VOF-Z?CUqbFUU0dMbtT68(5;wia)%E}3oX2p#Vye{1M?1Pk}JXHekDT~zA7 zSHkHp`c=a30TxPlg$T}9!ed0hmGBS|NG0qhC|APWh{@t3lrR$7h^$mlRQNJ)&rI)e z_f{Wj9a&4>o~@y?ZQipj$C7XDaBurL>UPWKvpW#DZ{3dj!LhjYc&JQh@#Zb*6b!pL zktBd7V@X6m!K_w3`?;#%hlrh;M@XxM|3FAyx!(|Sv}oZ&1m%@`0x@E3HEj|4xR7BN zWmrZ?YQjYj>y(!Z?t!~YQgGsZYU06MlKMuA?JC4Lty}MKKikcPf0Nk!9dwa8@xaFI zmeZqcOgcD`*kzGypWV=_ilVWgzr39=ETB%o9hXAZZr`C}hEMPI=^fk{VU(hueHMac z_PW*|1w$LC^^otW-y9K_ueHnf*sK)T<3 z2+l3X+;AW*o6otnq{59@lKit5t(43mR|wgT1JbPqcxE@y-yrlliC#wNZ3<1i?_$kgfWfanOiDDZW9kIAryLU3cH!~@lEf9qZenGXmF z{>G`nASj~xuqhn2LR6@wt}CvM9iO3TRH0AZm*PJ;F`1Km{SYx*|DwqI2Ic(%grB-a z-Zzj}2N30r>jJRojW)K&#>ky>X#I;E52P2_q3Dz2&_&u

{WZ@{p4_mDie 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 delta 8337 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 TIbwVlxc!hLesKwkehB{$ItK)2 diff --git a/build/test/preprocess/files/test_Spiellogik.c b/build/test/preprocess/files/test_Spiellogik.c new file mode 100644 index 0000000..8a5021a --- /dev/null +++ b/build/test/preprocess/files/test_Spiellogik.c @@ -0,0 +1,35 @@ +#include "src/Spiellogik.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_test1(void){ + + + + int result = probe(2); + + + + UnityAssertEqualNumber((UNITY_INT)((2)), (UNITY_INT)((result)), ( + +((void *)0) + +), (UNITY_UINT)(16), UNITY_DISPLAY_STYLE_INT); + +} diff --git a/build/test/preprocess/includes/test_Spiellogik.c b/build/test/preprocess/includes/test_Spiellogik.c new file mode 100644 index 0000000..9a06f7c --- /dev/null +++ b/build/test/preprocess/includes/test_Spiellogik.c @@ -0,0 +1,3 @@ +--- +- "/var/lib/gems/3.0.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" +- src/Spiellogik.h diff --git a/build/test/results/test_Spiellogik.pass b/build/test/results/test_Spiellogik.pass new file mode 100644 index 0000000..43b4433 --- /dev/null +++ b/build/test/results/test_Spiellogik.pass @@ -0,0 +1,18 @@ +--- +:source: + :path: test + :file: test_Spiellogik.c +:successes: +- :test: test_test1 + :line: 12 + :message: '' + :unity_test_time: 0 +:failures: [] +:ignores: [] +:counts: + :total: 1 + :passed: 1 + :failed: 0 + :ignored: 0 +:stdout: [] +:time: 0.0014955760002521856 diff --git a/build/test/results/test_test.pass b/build/test/results/test_test.pass index 2b7db9e..ddddfee 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.0012681320004048757 +:time: 0.0015436290000252484 diff --git a/build/test/runners/test_Spiellogik_runner.c b/build/test/runners/test_Spiellogik_runner.c new file mode 100644 index 0000000..d44f2eb --- /dev/null +++ b/build/test/runners/test_Spiellogik_runner.c @@ -0,0 +1,81 @@ +/* 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_test1(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_Spiellogik.c"); + run_test(test_test1, "test_test1", 12); + + return UnityEnd(); +} diff --git a/src/Spiellogik.c b/src/Spiellogik.c index 1c44c4d..eaa8481 100644 --- a/src/Spiellogik.c +++ b/src/Spiellogik.c @@ -66,4 +66,8 @@ int lose(int realU[N][N], char richtung){ } } return 0; +} + +int probe(int input){ + return input; } \ No newline at end of file diff --git a/src/Spiellogik.h b/src/Spiellogik.h new file mode 100644 index 0000000..416da51 --- /dev/null +++ b/src/Spiellogik.h @@ -0,0 +1,8 @@ +#include "unity.h" +#ifndef PROBE_H +#define PROBE_H + +int probe(int input); + + +#endif \ No newline at end of file diff --git a/test/test_Spiellogik.c b/test/test_Spiellogik.c new file mode 100644 index 0000000..24c42f4 --- /dev/null +++ b/test/test_Spiellogik.c @@ -0,0 +1,17 @@ +#include "unity.h" +#include "Spiellogik.h" +#include + +void setUp(void){ +} + +void tearDown(void){ + +} + +void test_test1(void){ + + int result = probe(2); + + TEST_ASSERT_EQUAL_INT(2, result); +} \ No newline at end of file