From 01a97b74f5d470f3a90eacfa99101b215341515a Mon Sep 17 00:00:00 2001 From: hathach Date: Wed, 12 Dec 2012 15:43:50 +0700 Subject: [PATCH] add unity to test project --- tests/unity/docs/Unity Summary.odt | Bin 0 -> 122486 bytes tests/unity/docs/Unity Summary.pdf | Bin 0 -> 218553 bytes tests/unity/docs/Unity Summary.txt | 216 ++++ tests/unity/docs/license.txt | 31 + tests/unity/extras/fixture/readme.txt | 9 + .../unity/extras/fixture/src/unity_fixture.c | 377 ++++++ .../unity/extras/fixture/src/unity_fixture.h | 81 ++ .../fixture/src/unity_fixture_internals.h | 44 + .../src/unity_fixture_malloc_overrides.h | 16 + tests/unity/release/build.info | 2 + tests/unity/release/version.info | 2 + tests/unity/src/unity.c | 1141 +++++++++++++++++ tests/unity/src/unity.h | 242 ++++ tests/unity/src/unity_internals.h | 546 ++++++++ 14 files changed, 2707 insertions(+) create mode 100644 tests/unity/docs/Unity Summary.odt create mode 100644 tests/unity/docs/Unity Summary.pdf create mode 100644 tests/unity/docs/Unity Summary.txt create mode 100644 tests/unity/docs/license.txt create mode 100644 tests/unity/extras/fixture/readme.txt create mode 100644 tests/unity/extras/fixture/src/unity_fixture.c create mode 100644 tests/unity/extras/fixture/src/unity_fixture.h create mode 100644 tests/unity/extras/fixture/src/unity_fixture_internals.h create mode 100644 tests/unity/extras/fixture/src/unity_fixture_malloc_overrides.h create mode 100644 tests/unity/release/build.info create mode 100644 tests/unity/release/version.info create mode 100644 tests/unity/src/unity.c create mode 100644 tests/unity/src/unity.h create mode 100644 tests/unity/src/unity_internals.h diff --git a/tests/unity/docs/Unity Summary.odt b/tests/unity/docs/Unity Summary.odt new file mode 100644 index 0000000000000000000000000000000000000000..653086459a480d9b374c3f8ce16ababc1d87a65c GIT binary patch literal 122486 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�Bb6+h6MTr1djm zj7e=eIEQo?EZQ~8`1q{-s|AmJAZN(?n~rqaJ_FGH<(^IH^t7O_fW9+TDY@7AF(GQh z@ep+trXBF=77lK)MBUR_+V}G|@HSsC8uRG29yZb5tuy1qpbm)3W;P z8u1E^BzTp&cJ7T#5m@aCINRl* z!LfSrE5V{@^C$h>cW($?=luqKjBePeIA<9$Z$FP?+~0MBR^m@d-PPooON$y?Y9*ho z^DDisZsRsnB^lv3|FV zR8|wl-=7YMfy*~2WEauKl0k2r`v!ea_?9-Q`>4F4rYK{1BdW6ZC^$)$@-=m}j7N{rx~cuj;EV7Dw9VkazUB z{&*)MQ0f+CIC(F`J;Z*+C~Df5@^VDsRfZM>Pjcy-HP7OzHA!xg=(UItdHRJvUsOz|c5;&YfB;90#y zK0J_qYtWf=xG5cWgflo;V{AjU+o*!HeXqH2xW09_1-%qZ9wLSf(Wbi^_*;n3DVwR! zIA+hNgpQF)CnDIPTGyXxF~iebKjM|vHM&D@a-CM-w?U}ZchiObepx#oMBnu_!PaV! zb<5#z3KXt=0zEuJO>UArD`NOudNV9G7t2{?JiR{rD*kn}nFmXc_(HT}mf6lT9WOfK zlml=iyY9Nu4r1OD$ar+RgcZL%RcYY2fCk8bEoy=i^hGoP;-@1`iR>+- z|62u4r)}d4zjK4RUAx&z%nFREP|`HVEDU0kZI0Rj$^H=Sri%M9CAolIv;45}SE;43 zpsCA0=~-7GjMLt%ftKqMjAitUbsp(b2gY%*4b6wYN>)M&hzHB`)0E_*a@_frnaCfU z^1pvJh?ovtY9AK0eL1`Qkz7Wi7{-#kl3+@J&yLSfdWokNPt%=>Bj6@Ihs1k;e4!DB zYmJ?;ka{|5@}gytnL&`^_(>wBBnxj!DcW1>?wEczHFXpf3^dNz&W3o6D)v>1kuwZb z%Hs>Iqx%Q7%zp;Mo-6?7NI(<>DcfFBc%B@|S^j)rVsi_)oC!ZWxrrluo(1hsA~g_e zdF2o7Tg7X4_*_BD0zKOQfG$F870?qU7w=J6NH+gk>uoo{ zdg_2GtVr^btQj4T-ckFh{cC)tNtb0m z#d^$ysB&YNueoGj4ltWFR1L|lvSI!)zt)09pW8~Mm3q5W;A+Ejb&Gn57z0`A03A^S znPmy|G+R|-gd*#A9p0{s;5+H}#g8f18=Ul#XCK?{!Hr!g-)t+Zi;Wwub^M~|AA^o$ zYy*9#^^f}#jdxlqr6$sZ4@0*#^Z|C+xKgZOJGAGM0*oRVo(X(OEkS*=Gj~HaOA{#% z=@PNo@{`{GnG)^94XU z=XlpI=5DnmmnXh=Q=2ZZ1A`?1+vHnz&b&VcKKz#4Dkis3$NuH}S0-oA^Kx{E|ID+w z8D|1OvK-Ta1;{yX^jw2z|n zI8Gt9K4WXzXM8On!}NUD{)O)udP~%soOqo|K0lhFT^Fk7bvKJ0aG7hzwe*{W`R+E4; zcdR;uzB1hy5tn}JGh1L^#`5PkjMMG9_~M@+A7zb(39s1_^wTIsiW}5{e!9kWEQmQq ziF=U#se?karKy$l`DojO9_&~}=#sMj!E!9YQoRvC%I*h^y}s%fkiC9l8NO}to|R!* zcx9pK7mhk}>+ZM%To|9@CsrR!d#m2#-Bi%}w!lhc3 zznb_-w_>exW|;@b50sLJG-AFQBFZy?=GK_m6EueNFiBm1>#ZizwwTnovU; zGDiYFcqj%Q31C+@OprBKm;^k*0Zg{2$_B4;0Zi9=BdIhh+K})R6K*XUV`5Wi{$e8$ z;ej2U*TSr4+uZ_IBO|A&mOz+cco87DWQDUJ$D1S{?7M~MLx6h-y$maG&UL5QOiA$= zt*+ik?fG=rj_R*Ze`fZvjlq>Vrakn999QFcbQ7oT<$YRy8r^JLnWm3P02qPgv9-t_ z0`Zh*mWkna28oTO?gVi`*`0R?x6<$+uMs89@ikNJ~TZw-7!%Cj_=RTZaPST0PpSe zdz%b>PJ4Mt@7TWcL=hIDs^9p)s2L>qE|E3{RgqPfLex?9$)7G4uL?9@XP+N;Wd)oV zGfP)r@O85vc)6`ej~}J;UcQI5I^&AqbxEpEG8}GsSf=o9w(N`*V^11#S20I8q7Dzc z7_w)06ljTH>z(Q@1`RFTJrmfOo36gr4D6rhoOQI*@*`1?i(>UvaEnpgBV2rmBG>7Z zP*D()U?y0E+L4qcR%f={sn?Bb13xo9#$6`X+c4Lyf^#}+x*dL~tDPLDcnvN%=Rx1z zD){c47tk$jsA9{_scFx8g;unTs>`ItASY)rrEk=-o^i`cT)UQAfD)Rzt63r|5@=?1 z(y#VsRtR7AUPN$tDoH8DakF7Y#S@NyN2YHtW5R7ex;M*B;8hkMD(F=GplGzVjkjlq z@>1dF!^w005>ps=r?M$~SUMW9o!p)4f}jpK;LDkhgh)u+mgmH5XzB=+o~ z=+U{ZWTv}D>V4M9ltZbgMbkeWV(jK&ueU`$UG=TiXAdR=NS^b`Tump#ub$8h+llB- zm@yrm*-zJPNM0qF-?G;50I%S+y5=e-gmW_RqF?GGRfMIse&-7t|J~70+rMHRy3Q-d=w)LP@Avc8v8oiRHjVzAX7(LXc*Z;HS^g?U_bct{h+5J z2Sb|u8Pt~CU%{dLoa~|WQe9=i%k!LGenR{ObBhZP0@+`F>^rV%~?xX4twYA4J z&in%hDU@*~N#-dnq9oLX)X(z>d!xHl$}2`^xU+FV$r~uRUKxz?>Dyoekh>RpI;ul< z7`RBM<3;$(5nn#J8nOb_!FM+5vGN__IK8^p->F=wDls8t56IJ{gvDBktx9gpqX&;A zTr>0;DIP>INH(yCvAV%Ky&Y_{+Zb9 zfOePOjfE!J1p52n#%4jX}|y@CK57WAUjsZIkOS1l<|k> zp><`Dov+i-#D5>Oi@RERpzk0?b-kgKOy0I~iEP&6V};$3at4oM+}OYc_fftVm=cIB zQ7b7#bs5?oE?n>@)k6ZX3v(7((WN`M|$*aWkaWuuyp$0DT#=N)WMD^88T?cEQjpucMnvkY=w`GLL z=jD9GYs^pDWh@kMzWACKXpPmiHNRF9w33Huj1j*i#uhc3eX7i0VrmHU8K!E=XDQQ6 zQ4>1-x~^$Iyci?)$#=&OW!r-k2-GhccU-#wRx*3IBS5Q~AQHapVZz_i$0}kI!3szny9c;V@8>o>EYr zY!a=?8*!ytn~+Z@A;uW%{1I0J!0&5B>pO<+juNpt_}I!@&YISgj4!D(~SaiXfRR%*z*IT7TVZ0IMxN0EY3NZLS$rGFVFjo$`A z*+1M?q4w22O8T{)n^U2%b`6otx)s{|V|2KN-#zg)v*WX&9 zqg<8QMLZG}_|NB^v~?ve?&$FwUwu0U3N!b~#mj!Q2+P(YR7%|!6>a!EJ1d6jqv~F8 zIVc7gM<{!)>?6DNI)*qMUI%3bxUpVg98(A!F0wvWAonc*_TnrwhJjIuS<9=94mz#U zOe?2;s7skf`c2k@`?QyaY3O=ioKa-H0`)g&Zw=`sD&e;5|1SLjI{su_dJK1}4Uabg zeS%9uR|hRa6=t$zSVLrU2V!#NE_+fA6Cc`!irU9Y>g4D%sw~?T8|j9M=}*nIr1sHD zD<>}jun+8FuUB$LKYupOu#Pn1C?Yi#^{bVnzn-?vAgGHTEiPh*5~WK5Ya& z4ZPj*KV4+Jy;yi&2SaCg=GmcGIa&U@J?ee+Pe&CB_rF`KIJtR0eE2Vx=YJcnG<{vH z*mYIS?W`<3*gtuid;GIka5S^AV%M>?^Z-$Da&u6z%UjvnfIO%;Ik>3UC2c+2)vVm4 zoE=@9ovfTZs6J4!OF26@yM1yov#?^9w(_#Iu+or|{7?Iqw3O!mG;jTXN@14vi zWixksD&Bt@y{P`Tt?O;^?GF@|qO5`}6f`sx6!iNG>TLx|3JMkm=AZEnaPI>i2_7B} z4ju&&5djGe1q}@q1r-$?0|yHo0~-Ss6^j518y62BA0G{qkca?}2nP=z?;j%2ut|0C{y0UiMf5f1kK zj0pOlGpPR)-lc$fTZTe=N5f#jV!b1VKSO<_AvaC@mWVz1{sq*Xpuw5s?vshCf-Sw?2bk6QSh)D+}ejh*VfmF#iDTf3fe+7XgL?3L23B zOI+<;RHSz$py6R2dm;k!{jRG?6K&BO+rqqXq~{8#{eymz6aQS#8y0U#&0E$H!VlHP zUX--0khn8Vr+`k>myj?c9xK*4>MTfhwMVuKfJ=y9qx)!9QW=Ijr!wE5XjyADI&3+F z#f)RNFJoj9dc-O0?W)Le_^D>zpnklo#DEP20|f_%@V_cS!$84eQ^Vm_y|E}iXR-~|ztBaSH9X<^FV)d`tm`g8Bv9O)WL(Pzo= znnZ=T-n>D*^Pt0iwO+kz5%M zG;N)jH@Kr64Z!|Gf*d0e{X`^BHB~t|GNgY0A};uD6XBOG^^=ns5J(xzgEc%@*wW+xkMX4hqtsHA&IHa$tk%d zLFZ^2Z3cT$8Zx8GsKOW&dT7BWkWeV69Uc-YgAXnP?h|#>i7AK)-3xT%l+@Ld1$h{R zq@np+#L}4rIy7XzM$8)+rZ}^erPn2xp`}fCnM2u^9Uv4WIFq?~a1GOyl(Sv&ecsjK zo4Gr=#gu~qsMmIWK4&i6ipC@Ti5y=&06KkaM=Y=p%HT)XSZo1%GFa<4XOx6Q-WL)HlVJ=EWp1h@r-bU_~?lCvu;v$Bi|pP3jGT_1eYeCKI`#$k=qL+X%Ix;X;88Y&3L(p8wzYp;M#BJXmI2aOe}p!4j7bj z#mU)VY~2+irO2^SS-zuy6w;-&Jl9Q3XyF9@dyG<2Mkse~d zti!V0GPJUhGQMEq@)n^YWs71(7RDS-@~7KgxhE}7t~NO~M)+rZ^9*Mdn^S}0D|K9(5(+5S5{caW*c$oi<8_?KL)bBAvJs-;~ zsrKj8=HH9|MkcI-*z^cf*QSU5poo&@$nNP7goKttoXahX8G0O2VXNCAqk-HpJO7Am z)P_9Qyrn!Cw10UB^*>DB(+uqYjR_|e$2${=q@Nf64NO>nG2rPG?J-E(o<%eqWtb~k z=1};;T5>zT_W9*T@ku4>mM+QK^U!7XvuRYW{fjmY7WBW|?>%AsulGT5a!6pQi<_yr zCguOv_pqLwPWwCnM^ppYA^~b|P*}tXDI_Wd=OY}*w95(rQfaNzLLOK9MQMLzyw zitCD!Ooel;;P^_#`b2k7K4B{xsgPVlO*s5?msC>#FOd-Azquzv#T7ZwHak(cDu53l zf$;*;8q@e_*ZGD|9?FFD2r&_93;Nb#OzqZF)GU;E%4pa8N_*eRPU;@nWd zL9okLDEq`$wWcA9uo4T9J`_+WjUZ!hco779cxRf1g?Q&S4C4$59#L9dc_?&dIsyh@ zJq8Ll%@z*@K(V_9KC5Bj&F201_(2P*G*|*(G7cR~@s)ctDf9*@GbS}#{bu3<`r9dQ z;hAW6{M*w1OYz71|96@9?*fkRpP~)r|D`?u|5*phxtaN*u>a2~l>ybe3sM=O{GVO? zrA;I!lMZCv`{@oS(!+I%O{+lxGr#Ky8%VK6!supm+R!s2P= zzWK%MTQF)(Dy+*WEJDtlD)fh@u?zq|K)}CC6`+|7;zfx^-pJ`KdVm&}vsHW=?irLr zb~`p25;V=msK9p1plT@24wNh3eqg6Rvi39JKc1jdc9XXJZn@3(qn&P6TH6zt}J&NNg$>)yS4mri4QGnN)jVaH8XP;_a-&n>N|?9L;_cm&3F87G-;%|{(@86Ak2y;l z{7&JsGzy_%SdHDX-8Mb&+HrVVA;F2spM7CDU0~D=!NL}q<)5K6KfC|@PO8M{fFEl5 z)e64n!kw>VA5OHThsR4w30Uun3Rf$2g13^nCE-W~NLM9p10Zd+krh9G<;P$!XW_#F zohc@ zWlR0HmZ;Y^MuiDU7Z>^|tEV44F*=TXRS&mJ@R&-KQjkmg*U`{NIeJe5=DX}VR3aYS z%mk7l%QTYI$82%9&~LELv@W$iqvGvze`1ztLd?A z+qQpW+qP}5dD#e ze_LAi$ibhWWqMN$JP|b@2ZGX)u`ruG7T6gh1GccV6Yw=%A@YY`hj@XW4LCLl+)qK^ zxSW11SSXhA4wU9(q~JyC<-) z4xk2&g&mndagk%_8F`EhpNofP1fe;*M!W^im|eRopH}T$U4*ssCDhq0{S9NPBI$A- z2H9U8I9J-jAroIhUD}08wqZC)g2B1v3;u3Nd>ERR3DJ%5uzMu`1HfDSEglh6ta%Ad zw;LLdvAE2x>`v=+m$N%K*OPmCLYRm`bZyVsSZPOKp1E$9Hs~yu+&G&0BcRXAbARt=TD4`}Fat^z&wvGrskE8 zO7H+No64ppvC2@>om+m?uBO??p4`{Ruji?BzunI(zZZR*>*f{x(<;4gdurx*{sC08 zd-f>rzaOwyq#^pfp5NNssVV9xBwY3wQyfJ}q*yRX1Ew$f9-Tvy zA4?8pT5i8rg>Ak|3p7+W{eKa`85_o2SOe}S-kS$KB;5+YrMk6q(etvAaI7dE$(;SK z$BLD=Q^~86z87ZWU#^gTfBH{Oq|K0w3UuKi4~CN^wE6{mdLJadKDYRlMT5q;xc45) z$$JUY*sR!;c{wn-HI>!9oC^Yf0q?YUqrW)~7L*zBLhlZ!w8dnS?vJ1o=4upU< zAA+rl8}_~Yu}ie~Q}LfLRP8@$iaD7Cb=?μHt#Zj_sE7J|J|C-uCUdWkR#R+dre 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

emYx{VCqHbOx`RGOrqtML|>d{Uj!2a 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�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 CZ#$k@A}Jr{*VsE0^kQpg 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 + +UNITY_FIXTURE_T UnityFixture; + +//If you decide to use the function pointer approach. +int (*outputChar)(int) = putchar; + +int verbose = 0; + +void setUp(void) { /*does nothing*/ } +void tearDown(void) { /*does nothing*/ } + +void announceTestRun(unsigned int runNumber) +{ + UnityPrint("Unity test run "); + UnityPrintNumber(runNumber+1); + UnityPrint(" of "); + UnityPrintNumber(UnityFixture.RepeatCount); + UNITY_OUTPUT_CHAR('\n'); +} + +int UnityMain(int argc, char* argv[], void (*runAllTests)()) +{ + int result = UnityGetCommandLineOptions(argc, argv); + unsigned int r; + if (result != 0) + return result; + + for (r = 0; r < UnityFixture.RepeatCount; r++) + { + announceTestRun(r); + UnityBegin(); + runAllTests(); + UNITY_OUTPUT_CHAR('\n'); + UnityEnd(); + } + + return UnityFailureCount(); +} + +static int selected(const char * filter, const char * name) +{ + if (filter == 0) + return 1; + return strstr(name, filter) ? 1 : 0; +} + +static int testSelected(const char* test) +{ + return selected(UnityFixture.NameFilter, test); +} + +static int groupSelected(const char* group) +{ + return selected(UnityFixture.GroupFilter, group); +} + +static void runTestCase() +{ + +} + +void UnityTestRunner(unityfunction* setup, + unityfunction* testBody, + unityfunction* teardown, + const char * printableName, + const char * group, + const char * name, + const char * file, int line) +{ + if (testSelected(name) && groupSelected(group)) + { + Unity.CurrentTestFailed = 0; + Unity.TestFile = file; + Unity.CurrentTestName = printableName; + Unity.CurrentTestLineNumber = line; + if (!UnityFixture.Verbose) + UNITY_OUTPUT_CHAR('.'); + else + UnityPrint(printableName); + + Unity.NumberOfTests++; + UnityMalloc_StartTest(); + UnityPointer_Init(); + + runTestCase(); + if (TEST_PROTECT()) + { + setup(); + testBody(); + } + if (TEST_PROTECT()) + { + teardown(); + } + if (TEST_PROTECT()) + { + UnityPointer_UndoAllSets(); + if (!Unity.CurrentTestFailed) + UnityMalloc_EndTest(); + } + UnityConcludeFixtureTest(); + } +} + +void UnityIgnoreTest() +{ + Unity.NumberOfTests++; + Unity.CurrentTestIgnored = 1; + UNITY_OUTPUT_CHAR('!'); +} + + +//------------------------------------------------- +//Malloc and free stuff +// +#define MALLOC_DONT_FAIL -1 +static int malloc_count; +static int malloc_fail_countdown = MALLOC_DONT_FAIL; + +void UnityMalloc_StartTest() +{ + malloc_count = 0; + malloc_fail_countdown = MALLOC_DONT_FAIL; +} + +void UnityMalloc_EndTest() +{ + malloc_fail_countdown = MALLOC_DONT_FAIL; + if (malloc_count != 0) + { + TEST_FAIL_MESSAGE("This test leaks!"); + } +} + +void UnityMalloc_MakeMallocFailAfterCount(int countdown) +{ + malloc_fail_countdown = countdown; +} + +#ifdef malloc +#undef malloc +#endif + +#ifdef free +#undef free +#endif + +#include +#include + +typedef struct GuardBytes +{ + int size; + char guard[sizeof(int)]; +} Guard; + + +static const char * end = "END"; + +void * unity_malloc(size_t size) +{ + char* mem; + Guard* guard; + + if (malloc_fail_countdown != MALLOC_DONT_FAIL) + { + if (malloc_fail_countdown == 0) + return 0; + malloc_fail_countdown--; + } + + malloc_count++; + + guard = (Guard*)malloc(size + sizeof(Guard) + 4); + guard->size = size; + mem = (char*)&(guard[1]); + memcpy(&mem[size], end, strlen(end) + 1); + + return (void*)mem; +} + +static int isOverrun(void * mem) +{ + Guard* guard = (Guard*)mem; + char* memAsChar = (char*)mem; + guard--; + + return strcmp(&memAsChar[guard->size], end) != 0; +} + +static void release_memory(void * mem) +{ + Guard* guard = (Guard*)mem; + guard--; + + malloc_count--; + free(guard); +} + +void unity_free(void * mem) +{ + int overrun = isOverrun(mem);//strcmp(&memAsChar[guard->size], end) != 0; + release_memory(mem); + if (overrun) + { + TEST_FAIL_MESSAGE("Buffer overrun detected during free()"); + } +} + +void* unity_calloc(size_t num, size_t size) +{ + void* mem = unity_malloc(num * size); + memset(mem, 0, num*size); + return mem; +} + +void* unity_realloc(void * oldMem, size_t size) +{ + Guard* guard = (Guard*)oldMem; +// char* memAsChar = (char*)oldMem; + void* newMem; + + if (oldMem == 0) + return unity_malloc(size); + + guard--; + if (isOverrun(oldMem)) + { + release_memory(oldMem); + TEST_FAIL_MESSAGE("Buffer overrun detected during realloc()"); + } + + if (size == 0) + { + release_memory(oldMem); + return 0; + } + + if (guard->size >= size) + return oldMem; + + newMem = unity_malloc(size); + memcpy(newMem, oldMem, guard->size); + unity_free(oldMem); + return newMem; +} + + +//-------------------------------------------------------- +//Automatic pointer restoration functions +typedef struct _PointerPair +{ + struct _PointerPair * next; + void ** pointer; + void * old_value; +} PointerPair; + +enum {MAX_POINTERS=50}; +static PointerPair pointer_store[MAX_POINTERS]; +static int pointer_index = 0; + +void UnityPointer_Init() +{ + pointer_index = 0; +} + +void UnityPointer_Set(void ** pointer, void * newValue) +{ + if (pointer_index >= MAX_POINTERS) + TEST_FAIL_MESSAGE("Too many pointers set"); + + pointer_store[pointer_index].pointer = pointer; + pointer_store[pointer_index].old_value = *pointer; + *pointer = newValue; + pointer_index++; +} + +void UnityPointer_UndoAllSets() +{ + while (pointer_index > 0) + { + pointer_index--; + *(pointer_store[pointer_index].pointer) = + pointer_store[pointer_index].old_value; + + } +} + +int UnityFailureCount() +{ + return Unity.TestFailures; +} + +int UnityGetCommandLineOptions(int argc, char* argv[]) +{ + int i; + UnityFixture.Verbose = 0; + UnityFixture.GroupFilter = 0; + UnityFixture.NameFilter = 0; + UnityFixture.RepeatCount = 1; + + if (argc == 1) + return 0; + + for (i = 1; i < argc; ) + { + if (strcmp(argv[i], "-v") == 0) + { + UnityFixture.Verbose = 1; + i++; + } + else if (strcmp(argv[i], "-g") == 0) + { + i++; + if (i >= argc) + return 1; + UnityFixture.GroupFilter = argv[i]; + i++; + } + else if (strcmp(argv[i], "-n") == 0) + { + i++; + if (i >= argc) + return 1; + UnityFixture.NameFilter = argv[i]; + i++; + } + else if (strcmp(argv[i], "-r") == 0) + { + UnityFixture.RepeatCount = 2; + i++; + if (i < argc) + { + if (*(argv[i]) >= '0' && *(argv[i]) <= '9') + { + UnityFixture.RepeatCount = atoi(argv[i]); + i++; + } + } + } + } + return 0; +} + +void UnityConcludeFixtureTest() +{ + if (Unity.CurrentTestIgnored) + { + Unity.TestIgnores++; + } + else if (!Unity.CurrentTestFailed) + { + if (UnityFixture.Verbose) + { + UnityPrint(" PASS"); + UNITY_OUTPUT_CHAR('\n'); + } + } + else if (Unity.CurrentTestFailed) + { + Unity.TestFailures++; + } + + Unity.CurrentTestFailed = 0; + Unity.CurrentTestIgnored = 0; +} + diff --git a/tests/unity/extras/fixture/src/unity_fixture.h b/tests/unity/extras/fixture/src/unity_fixture.h new file mode 100644 index 00000000..da1f871f --- /dev/null +++ b/tests/unity/extras/fixture/src/unity_fixture.h @@ -0,0 +1,81 @@ +//- Copyright (c) 2010 James Grenning and Contributed to Unity Project +/* ========================================== + 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] +========================================== */ + +#ifndef UNITY_FIXTURE_H_ +#define UNITY_FIXTURE_H_ + +#include "unity.h" +#include "unity_internals.h" +#include "unity_fixture_malloc_overrides.h" +#include "unity_fixture_internals.h" + +int UnityMain(int argc, char* argv[], void (*runAllTests)()); + + +#define TEST_GROUP(group)\ + int TEST_GROUP_##group = 0 + +#define TEST_SETUP(group) void TEST_##group##_SETUP() + +#define TEST_TEAR_DOWN(group) void TEST_##group##_TEAR_DOWN() + + +#define TEST(group, name) \ + void TEST_##group##_##name##_();\ + void TEST_##group##_##name##_run()\ + {\ + UnityTestRunner(TEST_##group##_SETUP,\ + TEST_##group##_##name##_,\ + TEST_##group##_TEAR_DOWN,\ + "TEST(" #group ", " #name ")",\ + #group, #name,\ + __FILE__, __LINE__);\ + }\ + void TEST_##group##_##name##_() + +#define IGNORE_TEST(group, name) \ + void TEST_##group##_##name##_();\ + void TEST_##group##_##name##_run()\ + {\ + UnityIgnoreTest();\ + }\ + void TEST_##group##_##name##_() + +#define DECLARE_TEST_CASE(group, name) \ + void TEST_##group##_##name##_run() + +#define RUN_TEST_CASE(group, name) \ + DECLARE_TEST_CASE(group, name);\ + TEST_##group##_##name##_run(); + +//This goes at the bottom of each test file or in a separate c file +#define TEST_GROUP_RUNNER(group)\ + void TEST_##group##_GROUP_RUNNER_runAll();\ + void TEST_##group##_GROUP_RUNNER()\ + {\ + TEST_##group##_GROUP_RUNNER_runAll();\ + }\ + void TEST_##group##_GROUP_RUNNER_runAll() + +//Call this from main +#define RUN_TEST_GROUP(group)\ + void TEST_##group##_GROUP_RUNNER();\ + TEST_##group##_GROUP_RUNNER(); + +//CppUTest Compatibility Macros +#define UT_PTR_SET(ptr, newPointerValue) UnityPointer_Set((void**)&ptr, (void*)newPointerValue) +#define TEST_ASSERT_POINTERS_EQUAL(expected, actual) TEST_ASSERT_EQUAL_PTR(expected, actual) +#define TEST_ASSERT_BYTES_EQUAL(expected, actual) TEST_ASSERT_EQUAL_HEX8(0xff & (expected), 0xff & (actual)) +#define FAIL(message) TEST_FAIL((message)) +#define CHECK(condition) TEST_ASSERT_TRUE((condition)) +#define LONGS_EQUAL(expected, actual) TEST_ASSERT_EQUAL_INT((expected), (actual)) +#define STRCMP_EQUAL(expected, actual) TEST_ASSERT_EQUAL_STRING((expected), (actual)) +#define DOUBLES_EQUAL(expected, actual, delta) TEST_ASSERT_FLOAT_WITHIN(((expected), (actual), (delta)) + +void UnityMalloc_MakeMallocFailAfterCount(int count); + +#endif /* UNITY_FIXTURE_H_ */ diff --git a/tests/unity/extras/fixture/src/unity_fixture_internals.h b/tests/unity/extras/fixture/src/unity_fixture_internals.h new file mode 100644 index 00000000..db23f67c --- /dev/null +++ b/tests/unity/extras/fixture/src/unity_fixture_internals.h @@ -0,0 +1,44 @@ +//- Copyright (c) 2010 James Grenning and Contributed to Unity Project +/* ========================================== + 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] +========================================== */ + +#ifndef UNITY_FIXTURE_INTERNALS_H_ +#define UNITY_FIXTURE_INTERNALS_H_ + +typedef struct _UNITY_FIXTURE_T +{ + int Verbose; + unsigned int RepeatCount; + const char* NameFilter; + const char* GroupFilter; +} UNITY_FIXTURE_T; + +typedef void unityfunction(); +void UnityTestRunner(unityfunction * setup, + unityfunction * body, + unityfunction * teardown, + const char * printableName, + const char * group, + const char * name, + const char * file, int line); + +void UnityIgnoreTest(); +void UnityMalloc_StartTest(); +void UnityMalloc_EndTest(); +int UnityFailureCount(); +int UnityGetCommandLineOptions(int argc, char* argv[]); +void UnityConcludeFixtureTest(); + +void UnityPointer_Set(void ** ptr, void * newValue); +void UnityPointer_UndoAllSets(); +void UnityPointer_Init(); + +void UnityAssertEqualPointer(const void * expected, + const void * actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber); + +#endif /* UNITY_FIXTURE_INTERNALS_H_ */ diff --git a/tests/unity/extras/fixture/src/unity_fixture_malloc_overrides.h b/tests/unity/extras/fixture/src/unity_fixture_malloc_overrides.h new file mode 100644 index 00000000..38f8e34d --- /dev/null +++ b/tests/unity/extras/fixture/src/unity_fixture_malloc_overrides.h @@ -0,0 +1,16 @@ +//- Copyright (c) 2010 James Grenning and Contributed to Unity Project +/* ========================================== + 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] +========================================== */ + +#ifndef UNITY_FIXTURE_MALLOC_OVERRIDES_H_ +#define UNITY_FIXTURE_MALLOC_OVERRIDES_H_ + +#define malloc unity_malloc +#define calloc unity_calloc +#define realloc unity_realloc +#define free unity_free + +#endif /* UNITY_FIXTURE_MALLOC_OVERRIDES_H_ */ diff --git a/tests/unity/release/build.info b/tests/unity/release/build.info new file mode 100644 index 00000000..7871b21d --- /dev/null +++ b/tests/unity/release/build.info @@ -0,0 +1,2 @@ +118 + diff --git a/tests/unity/release/version.info b/tests/unity/release/version.info new file mode 100644 index 00000000..6b2d3490 --- /dev/null +++ b/tests/unity/release/version.info @@ -0,0 +1,2 @@ +2.1.0 + diff --git a/tests/unity/src/unity.c b/tests/unity/src/unity.c new file mode 100644 index 00000000..b6ec3d11 --- /dev/null +++ b/tests/unity/src/unity.c @@ -0,0 +1,1141 @@ +/* ========================================== + 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 "unity.h" +#include +#include + +#define UNITY_FAIL_AND_BAIL { Unity.CurrentTestFailed = 1; UNITY_OUTPUT_CHAR('\n'); longjmp(Unity.AbortFrame, 1); } +#define UNITY_IGNORE_AND_BAIL { Unity.CurrentTestIgnored = 1; UNITY_OUTPUT_CHAR('\n'); longjmp(Unity.AbortFrame, 1); } +/// return prematurely if we are already in failure or ignore state +#define UNITY_SKIP_EXECUTION { if ((Unity.CurrentTestFailed != 0) || (Unity.CurrentTestIgnored != 0)) {return;} } +#define UNITY_PRINT_EOL { UNITY_OUTPUT_CHAR('\n'); } + +struct _Unity Unity = { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , { 0 } }; + +const char* UnityStrNull = "NULL"; +const char* UnityStrSpacer = ". "; +const char* UnityStrExpected = " Expected "; +const char* UnityStrWas = " Was "; +const char* UnityStrTo = " To "; +const char* UnityStrElement = " Element "; +const char* UnityStrByte = " Byte "; +const char* UnityStrMemory = " Memory Mismatch."; +const char* UnityStrDelta = " Values Not Within Delta "; +const char* UnityStrPointless= " You Asked Me To Compare Nothing, Which Was Pointless."; +const char* UnityStrNullPointerForExpected= " Expected pointer to be NULL"; +const char* UnityStrNullPointerForActual = " Actual pointer was NULL"; +const char* UnityStrInf = "Infinity"; +const char* UnityStrNegInf = "Negative Infinity"; +const char* UnityStrNaN = "NaN"; + +// Dividing by these constants produces +/- infinity. +// The rationale is given in UnityAssertFloatIsInf's body. +static const _UF f_zero = 0.0f; +#ifndef UNITY_EXCLUDE_DOUBLE +static const _UD d_zero = 0.0; +#endif + +// compiler-generic print formatting masks +const _U_UINT UnitySizeMask[] = +{ + 255u, // 0xFF + 65535u, // 0xFFFF + 65535u, + 4294967295u, // 0xFFFFFFFF + 4294967295u, + 4294967295u, + 4294967295u +#ifdef UNITY_SUPPORT_64 + ,0xFFFFFFFFFFFFFFFF +#endif +}; + +void UnityPrintFail(void); +void UnityPrintOk(void); + +//----------------------------------------------- +// Pretty Printers & Test Result Output Handlers +//----------------------------------------------- + +void UnityPrint(const char* string) +{ + const char* pch = string; + + if (pch != NULL) + { + while (*pch) + { + // printable characters plus CR & LF are printed + if ((*pch <= 126) && (*pch >= 32)) + { + UNITY_OUTPUT_CHAR(*pch); + } + //write escaped carriage returns + else if (*pch == 13) + { + UNITY_OUTPUT_CHAR('\\'); + UNITY_OUTPUT_CHAR('r'); + } + //write escaped line feeds + else if (*pch == 10) + { + UNITY_OUTPUT_CHAR('\\'); + UNITY_OUTPUT_CHAR('n'); + } + // unprintable characters are shown as codes + else + { + UNITY_OUTPUT_CHAR('\\'); + UnityPrintNumberHex((_U_SINT)*pch, 2); + } + pch++; + } + } +} + +//----------------------------------------------- +void UnityPrintNumberByStyle(const _U_SINT number, const UNITY_DISPLAY_STYLE_T style) +{ + if ((style & UNITY_DISPLAY_RANGE_INT) == UNITY_DISPLAY_RANGE_INT) + { + UnityPrintNumber(number); + } + else if ((style & UNITY_DISPLAY_RANGE_UINT) == UNITY_DISPLAY_RANGE_UINT) + { + UnityPrintNumberUnsigned( (_U_UINT)number & UnitySizeMask[((_U_UINT)style & (_U_UINT)0x0F) - 1] ); + } + else + { + UnityPrintNumberHex((_U_UINT)number, (style & 0x000F) << 1); + } +} + +//----------------------------------------------- +/// basically do an itoa using as little ram as possible +void UnityPrintNumber(const _U_SINT number_to_print) +{ + _U_SINT divisor = 1; + _U_SINT next_divisor; + _U_SINT number = number_to_print; + + if (number < 0) + { + UNITY_OUTPUT_CHAR('-'); + number = -number; + } + + // figure out initial divisor + while (number / divisor > 9) + { + next_divisor = divisor * 10; + if (next_divisor > divisor) + divisor = next_divisor; + else + break; + } + + // now mod and print, then divide divisor + do + { + UNITY_OUTPUT_CHAR((char)('0' + (number / divisor % 10))); + divisor /= 10; + } + while (divisor > 0); +} + +//----------------------------------------------- +/// basically do an itoa using as little ram as possible +void UnityPrintNumberUnsigned(const _U_UINT number) +{ + _U_UINT divisor = 1; + _U_UINT next_divisor; + + // figure out initial divisor + while (number / divisor > 9) + { + next_divisor = divisor * 10; + if (next_divisor > divisor) + divisor = next_divisor; + else + break; + } + + // now mod and print, then divide divisor + do + { + UNITY_OUTPUT_CHAR((char)('0' + (number / divisor % 10))); + divisor /= 10; + } + while (divisor > 0); +} + +//----------------------------------------------- +void UnityPrintNumberHex(const _U_UINT number, const char nibbles_to_print) +{ + _U_UINT nibble; + char nibbles = nibbles_to_print; + UNITY_OUTPUT_CHAR('0'); + UNITY_OUTPUT_CHAR('x'); + + while (nibbles > 0) + { + nibble = (number >> (--nibbles << 2)) & 0x0000000F; + if (nibble <= 9) + { + UNITY_OUTPUT_CHAR((char)('0' + nibble)); + } + else + { + UNITY_OUTPUT_CHAR((char)('A' - 10 + nibble)); + } + } +} + +//----------------------------------------------- +void UnityPrintMask(const _U_UINT mask, const _U_UINT number) +{ + _U_UINT current_bit = (_U_UINT)1 << (UNITY_INT_WIDTH - 1); + _US32 i; + + for (i = 0; i < UNITY_INT_WIDTH; i++) + { + if (current_bit & mask) + { + if (current_bit & number) + { + UNITY_OUTPUT_CHAR('1'); + } + else + { + UNITY_OUTPUT_CHAR('0'); + } + } + else + { + UNITY_OUTPUT_CHAR('X'); + } + current_bit = current_bit >> 1; + } +} + +//----------------------------------------------- +#ifdef UNITY_FLOAT_VERBOSE +void UnityPrintFloat(_UF number) +{ + char TempBuffer[32]; + sprintf(TempBuffer, "%.6f", number); + UnityPrint(TempBuffer); +} +#endif + +//----------------------------------------------- + +void UnityPrintFail(void) +{ + UnityPrint("FAIL"); +} + +void UnityPrintOk(void) +{ + UnityPrint("OK"); +} + +//----------------------------------------------- +void UnityTestResultsBegin(const char* file, const UNITY_LINE_TYPE line) +{ + UnityPrint(file); + UNITY_OUTPUT_CHAR(':'); + UnityPrintNumber(line); + UNITY_OUTPUT_CHAR(':'); + UnityPrint(Unity.CurrentTestName); + UNITY_OUTPUT_CHAR(':'); +} + +//----------------------------------------------- +void UnityTestResultsFailBegin(const UNITY_LINE_TYPE line) +{ + UnityTestResultsBegin(Unity.TestFile, line); + UnityPrint("FAIL:"); +} + +//----------------------------------------------- +void UnityConcludeTest(void) +{ + if (Unity.CurrentTestIgnored) + { + Unity.TestIgnores++; + } + else if (!Unity.CurrentTestFailed) + { + UnityTestResultsBegin(Unity.TestFile, Unity.CurrentTestLineNumber); + UnityPrint("PASS"); + UNITY_PRINT_EOL; + } + else + { + Unity.TestFailures++; + } + + Unity.CurrentTestFailed = 0; + Unity.CurrentTestIgnored = 0; +} + +//----------------------------------------------- +void UnityAddMsgIfSpecified(const char* msg) +{ + if (msg) + { + UnityPrint(UnityStrSpacer); + UnityPrint(msg); + } +} + +//----------------------------------------------- +void UnityPrintExpectedAndActualStrings(const char* expected, const char* actual) +{ + UnityPrint(UnityStrExpected); + if (expected != NULL) + { + UNITY_OUTPUT_CHAR('\''); + UnityPrint(expected); + UNITY_OUTPUT_CHAR('\''); + } + else + { + UnityPrint(UnityStrNull); + } + UnityPrint(UnityStrWas); + if (actual != NULL) + { + UNITY_OUTPUT_CHAR('\''); + UnityPrint(actual); + UNITY_OUTPUT_CHAR('\''); + } + else + { + UnityPrint(UnityStrNull); + } +} + +//----------------------------------------------- +// Assertion & Control Helpers +//----------------------------------------------- + +int UnityCheckArraysForNull(const void* expected, const void* actual, const UNITY_LINE_TYPE lineNumber, const char* msg) +{ + //return true if they are both NULL + if ((expected == NULL) && (actual == NULL)) + return 1; + + //throw error if just expected is NULL + if (expected == NULL) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrNullPointerForExpected); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } + + //throw error if just actual is NULL + if (actual == NULL) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrNullPointerForActual); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } + + //return false if neither is NULL + return 0; +} + +//----------------------------------------------- +// Assertion Functions +//----------------------------------------------- + +void UnityAssertBits(const _U_SINT mask, + const _U_SINT expected, + const _U_SINT actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber) +{ + UNITY_SKIP_EXECUTION; + + if ((mask & expected) != (mask & actual)) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrExpected); + UnityPrintMask(mask, expected); + UnityPrint(UnityStrWas); + UnityPrintMask(mask, actual); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } +} + +//----------------------------------------------- +void UnityAssertEqualNumber(const _U_SINT expected, + const _U_SINT actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber, + const UNITY_DISPLAY_STYLE_T style) +{ + UNITY_SKIP_EXECUTION; + + if (expected != actual) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrExpected); + UnityPrintNumberByStyle(expected, style); + UnityPrint(UnityStrWas); + UnityPrintNumberByStyle(actual, style); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } +} + +//----------------------------------------------- +void UnityAssertEqualIntArray(const _U_SINT* expected, + const _U_SINT* actual, + const _UU32 num_elements, + const char* msg, + const UNITY_LINE_TYPE lineNumber, + const UNITY_DISPLAY_STYLE_T style) +{ + _UU32 elements = num_elements; + const _US8* ptr_exp = (_US8*)expected; + const _US8* ptr_act = (_US8*)actual; + + UNITY_SKIP_EXECUTION; + + if (elements == 0) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrPointless); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } + + if (UnityCheckArraysForNull((void*)expected, (void*)actual, lineNumber, msg) == 1) + return; + + switch(style) + { + case UNITY_DISPLAY_STYLE_HEX8: + case UNITY_DISPLAY_STYLE_INT8: + case UNITY_DISPLAY_STYLE_UINT8: + while (elements--) + { + if (*ptr_exp != *ptr_act) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrElement); + UnityPrintNumberByStyle((num_elements - elements - 1), UNITY_DISPLAY_STYLE_UINT); + UnityPrint(UnityStrExpected); + UnityPrintNumberByStyle(*ptr_exp, style); + UnityPrint(UnityStrWas); + UnityPrintNumberByStyle(*ptr_act, style); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } + ptr_exp += 1; + ptr_act += 1; + } + break; + case UNITY_DISPLAY_STYLE_HEX16: + case UNITY_DISPLAY_STYLE_INT16: + case UNITY_DISPLAY_STYLE_UINT16: + while (elements--) + { + if (*(_US16*)ptr_exp != *(_US16*)ptr_act) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrElement); + UnityPrintNumberByStyle((num_elements - elements - 1), UNITY_DISPLAY_STYLE_UINT); + UnityPrint(UnityStrExpected); + UnityPrintNumberByStyle(*(_US16*)ptr_exp, style); + UnityPrint(UnityStrWas); + UnityPrintNumberByStyle(*(_US16*)ptr_act, style); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } + ptr_exp += 2; + ptr_act += 2; + } + break; +#ifdef UNITY_SUPPORT_64 + case UNITY_DISPLAY_STYLE_HEX64: + case UNITY_DISPLAY_STYLE_INT64: + case UNITY_DISPLAY_STYLE_UINT64: + while (elements--) + { + if (*(_US64*)ptr_exp != *(_US64*)ptr_act) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrElement); + UnityPrintNumberByStyle((num_elements - elements - 1), UNITY_DISPLAY_STYLE_UINT); + UnityPrint(UnityStrExpected); + UnityPrintNumberByStyle(*(_US64*)ptr_exp, style); + UnityPrint(UnityStrWas); + UnityPrintNumberByStyle(*(_US64*)ptr_act, style); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } + ptr_exp += 8; + ptr_act += 8; + } + break; +#endif + default: + while (elements--) + { + if (*(_US32*)ptr_exp != *(_US32*)ptr_act) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrElement); + UnityPrintNumberByStyle((num_elements - elements - 1), UNITY_DISPLAY_STYLE_UINT); + UnityPrint(UnityStrExpected); + UnityPrintNumberByStyle(*(_US32*)ptr_exp, style); + UnityPrint(UnityStrWas); + UnityPrintNumberByStyle(*(_US32*)ptr_act, style); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } + ptr_exp += 4; + ptr_act += 4; + } + break; + } +} + +//----------------------------------------------- +#ifndef UNITY_EXCLUDE_FLOAT +void UnityAssertEqualFloatArray(const _UF* expected, + const _UF* actual, + const _UU32 num_elements, + const char* msg, + const UNITY_LINE_TYPE lineNumber) +{ + _UU32 elements = num_elements; + const _UF* ptr_expected = expected; + const _UF* ptr_actual = actual; + _UF diff, tol; + + UNITY_SKIP_EXECUTION; + + if (elements == 0) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrPointless); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } + + if (UnityCheckArraysForNull((void*)expected, (void*)actual, lineNumber, msg) == 1) + return; + + while (elements--) + { + diff = *ptr_expected - *ptr_actual; + if (diff < 0.0f) + diff = 0.0f - diff; + tol = UNITY_FLOAT_PRECISION * *ptr_expected; + if (tol < 0.0f) + tol = 0.0f - tol; + + //This first part of this condition will catch any NaN or Infinite values + if ((diff * 0.0f != 0.0f) || (diff > tol)) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrElement); + UnityPrintNumberByStyle((num_elements - elements - 1), UNITY_DISPLAY_STYLE_UINT); +#ifdef UNITY_FLOAT_VERBOSE + UnityPrint(UnityStrExpected); + UnityPrintFloat(*ptr_expected); + UnityPrint(UnityStrWas); + UnityPrintFloat(*ptr_actual); +#else + UnityPrint(UnityStrDelta); +#endif + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } + ptr_expected++; + ptr_actual++; + } +} + +//----------------------------------------------- +void UnityAssertFloatsWithin(const _UF delta, + const _UF expected, + const _UF actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber) +{ + _UF diff = actual - expected; + _UF pos_delta = delta; + + UNITY_SKIP_EXECUTION; + + if (diff < 0.0f) + { + diff = 0.0f - diff; + } + if (pos_delta < 0.0f) + { + pos_delta = 0.0f - pos_delta; + } + + //This first part of this condition will catch any NaN or Infinite values + if ((diff * 0.0f != 0.0f) || (pos_delta < diff)) + { + UnityTestResultsFailBegin(lineNumber); +#ifdef UNITY_FLOAT_VERBOSE + UnityPrint(UnityStrExpected); + UnityPrintFloat(expected); + UnityPrint(UnityStrWas); + UnityPrintFloat(actual); +#else + UnityPrint(UnityStrDelta); +#endif + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } +} + +//----------------------------------------------- +void UnityAssertFloatIsInf(const _UF actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber) +{ + UNITY_SKIP_EXECUTION; + + // In Microsoft Visual C++ Express Edition 2008, + // if ((1.0f / f_zero) != actual) + // produces + // error C2124: divide or mod by zero + // As a workaround, place 0 into a variable. + if ((1.0f / f_zero) != actual) + { + UnityTestResultsFailBegin(lineNumber); +#ifdef UNITY_FLOAT_VERBOSE + UnityPrint(UnityStrExpected); + UnityPrint(UnityStrInf); + UnityPrint(UnityStrWas); + UnityPrintFloat(actual); +#else + UnityPrint(UnityStrDelta); +#endif + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } +} + +//----------------------------------------------- +void UnityAssertFloatIsNegInf(const _UF actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber) +{ + UNITY_SKIP_EXECUTION; + + // The rationale for not using 1.0f/0.0f is given in UnityAssertFloatIsInf's body. + if ((-1.0f / f_zero) != actual) + { + UnityTestResultsFailBegin(lineNumber); +#ifdef UNITY_FLOAT_VERBOSE + UnityPrint(UnityStrExpected); + UnityPrint(UnityStrNegInf); + UnityPrint(UnityStrWas); + UnityPrintFloat(actual); +#else + UnityPrint(UnityStrDelta); +#endif + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } +} + +//----------------------------------------------- +void UnityAssertFloatIsNaN(const _UF actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber) +{ + UNITY_SKIP_EXECUTION; + + if (actual == actual) + { + UnityTestResultsFailBegin(lineNumber); +#ifdef UNITY_FLOAT_VERBOSE + UnityPrint(UnityStrExpected); + UnityPrint(UnityStrNaN); + UnityPrint(UnityStrWas); + UnityPrintFloat(actual); +#else + UnityPrint(UnityStrDelta); +#endif + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } +} + +#endif //not UNITY_EXCLUDE_FLOAT + +//----------------------------------------------- +#ifndef UNITY_EXCLUDE_DOUBLE +void UnityAssertEqualDoubleArray(const _UD* expected, + const _UD* actual, + const _UU32 num_elements, + const char* msg, + const UNITY_LINE_TYPE lineNumber) +{ + _UU32 elements = num_elements; + const _UD* ptr_expected = expected; + const _UD* ptr_actual = actual; + _UD diff, tol; + + UNITY_SKIP_EXECUTION; + + if (elements == 0) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrPointless); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } + + if (UnityCheckArraysForNull((void*)expected, (void*)actual, lineNumber, msg) == 1) + return; + + while (elements--) + { + diff = *ptr_expected - *ptr_actual; + if (diff < 0.0) + diff = 0.0 - diff; + tol = UNITY_DOUBLE_PRECISION * *ptr_expected; + if (tol < 0.0) + tol = 0.0 - tol; + + //This first part of this condition will catch any NaN or Infinite values + if ((diff * 0.0 != 0.0) || (diff > tol)) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrElement); + UnityPrintNumberByStyle((num_elements - elements - 1), UNITY_DISPLAY_STYLE_UINT); +#ifdef UNITY_DOUBLE_VERBOSE + UnityPrint(UnityStrExpected); + UnityPrintFloat((float)(*ptr_expected)); + UnityPrint(UnityStrWas); + UnityPrintFloat((float)(*ptr_actual)); +#else + UnityPrint(UnityStrDelta); +#endif + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } + ptr_expected++; + ptr_actual++; + } +} + +//----------------------------------------------- +void UnityAssertDoublesWithin(const _UD delta, + const _UD expected, + const _UD actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber) +{ + _UD diff = actual - expected; + _UD pos_delta = delta; + + UNITY_SKIP_EXECUTION; + + if (diff < 0.0) + { + diff = 0.0 - diff; + } + if (pos_delta < 0.0) + { + pos_delta = 0.0 - pos_delta; + } + + //This first part of this condition will catch any NaN or Infinite values + if ((diff * 0.0 != 0.0) || (pos_delta < diff)) + { + UnityTestResultsFailBegin(lineNumber); +#ifdef UNITY_DOUBLE_VERBOSE + UnityPrint(UnityStrExpected); + UnityPrintFloat((float)expected); + UnityPrint(UnityStrWas); + UnityPrintFloat((float)actual); +#else + UnityPrint(UnityStrDelta); +#endif + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } +} + +//----------------------------------------------- +void UnityAssertDoubleIsInf(const _UD actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber) +{ + UNITY_SKIP_EXECUTION; + + // The rationale for not using 1.0/0.0 is given in UnityAssertFloatIsInf's body. + if ((1.0 / d_zero) != actual) + { + UnityTestResultsFailBegin(lineNumber); +#ifdef UNITY_DOUBLE_VERBOSE + UnityPrint(UnityStrExpected); + UnityPrint(UnityStrInf); + UnityPrint(UnityStrWas); + UnityPrintFloat((float)actual); +#else + UnityPrint(UnityStrDelta); +#endif + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } +} + +//----------------------------------------------- +void UnityAssertDoubleIsNegInf(const _UD actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber) +{ + UNITY_SKIP_EXECUTION; + + // The rationale for not using 1.0/0.0 is given in UnityAssertFloatIsInf's body. + if ((-1.0 / d_zero) != actual) + { + UnityTestResultsFailBegin(lineNumber); +#ifdef UNITY_DOUBLE_VERBOSE + UnityPrint(UnityStrExpected); + UnityPrint(UnityStrNegInf); + UnityPrint(UnityStrWas); + UnityPrintFloat((float)actual); +#else + UnityPrint(UnityStrDelta); +#endif + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } +} + +//----------------------------------------------- +void UnityAssertDoubleIsNaN(const _UD actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber) +{ + UNITY_SKIP_EXECUTION; + + if (actual == actual) + { + UnityTestResultsFailBegin(lineNumber); +#ifdef UNITY_DOUBLE_VERBOSE + UnityPrint(UnityStrExpected); + UnityPrint(UnityStrNaN); + UnityPrint(UnityStrWas); + UnityPrintFloat((float)actual); +#else + UnityPrint(UnityStrDelta); +#endif + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } +} + +#endif // not UNITY_EXCLUDE_DOUBLE + +//----------------------------------------------- +void UnityAssertNumbersWithin( const _U_SINT delta, + const _U_SINT expected, + const _U_SINT actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber, + const UNITY_DISPLAY_STYLE_T style) +{ + UNITY_SKIP_EXECUTION; + + if ((style & UNITY_DISPLAY_RANGE_INT) == UNITY_DISPLAY_RANGE_INT) + { + if (actual > expected) + Unity.CurrentTestFailed = ((actual - expected) > delta); + else + Unity.CurrentTestFailed = ((expected - actual) > delta); + } + else + { + if ((_U_UINT)actual > (_U_UINT)expected) + Unity.CurrentTestFailed = ((_U_UINT)(actual - expected) > (_U_UINT)delta); + else + Unity.CurrentTestFailed = ((_U_UINT)(expected - actual) > (_U_UINT)delta); + } + + if (Unity.CurrentTestFailed) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrDelta); + UnityPrintNumberByStyle(delta, style); + UnityPrint(UnityStrExpected); + UnityPrintNumberByStyle(expected, style); + UnityPrint(UnityStrWas); + UnityPrintNumberByStyle(actual, style); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } +} + +//----------------------------------------------- +void UnityAssertEqualString(const char* expected, + const char* actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber) +{ + _UU32 i; + + UNITY_SKIP_EXECUTION; + + // if both pointers not null compare the strings + if (expected && actual) + { + for (i = 0; expected[i] || actual[i]; i++) + { + if (expected[i] != actual[i]) + { + Unity.CurrentTestFailed = 1; + break; + } + } + } + else + { // handle case of one pointers being null (if both null, test should pass) + if (expected != actual) + { + Unity.CurrentTestFailed = 1; + } + } + + if (Unity.CurrentTestFailed) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrintExpectedAndActualStrings(expected, actual); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } +} + +//----------------------------------------------- +void UnityAssertEqualStringArray( const char** expected, + const char** actual, + const _UU32 num_elements, + const char* msg, + const UNITY_LINE_TYPE lineNumber) +{ + _UU32 i, j = 0; + + UNITY_SKIP_EXECUTION; + + // if no elements, it's an error + if (num_elements == 0) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrPointless); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } + + if (UnityCheckArraysForNull((void*)expected, (void*)actual, lineNumber, msg) == 1) + return; + + do + { + // if both pointers not null compare the strings + if (expected[j] && actual[j]) + { + for (i = 0; expected[j][i] || actual[j][i]; i++) + { + if (expected[j][i] != actual[j][i]) + { + Unity.CurrentTestFailed = 1; + break; + } + } + } + else + { // handle case of one pointers being null (if both null, test should pass) + if (expected[j] != actual[j]) + { + Unity.CurrentTestFailed = 1; + } + } + + if (Unity.CurrentTestFailed) + { + UnityTestResultsFailBegin(lineNumber); + if (num_elements > 1) + { + UnityPrint(UnityStrElement); + UnityPrintNumberByStyle((num_elements - j - 1), UNITY_DISPLAY_STYLE_UINT); + } + UnityPrintExpectedAndActualStrings((const char*)(expected[j]), (const char*)(actual[j])); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } + } while (++j < num_elements); +} + +//----------------------------------------------- +void UnityAssertEqualMemory( const void* expected, + const void* actual, + const _UU32 length, + const _UU32 num_elements, + const char* msg, + const UNITY_LINE_TYPE lineNumber) +{ + unsigned char* ptr_exp = (unsigned char*)expected; + unsigned char* ptr_act = (unsigned char*)actual; + _UU32 elements = num_elements; + _UU32 bytes; + + UNITY_SKIP_EXECUTION; + + if ((elements == 0) || (length == 0)) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrPointless); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } + + if (UnityCheckArraysForNull((void*)expected, (void*)actual, lineNumber, msg) == 1) + return; + + while (elements--) + { + ///////////////////////////////////// + bytes = length; + while (bytes--) + { + if (*ptr_exp != *ptr_act) + { + UnityTestResultsFailBegin(lineNumber); + UnityPrint(UnityStrMemory); + if (num_elements > 1) + { + UnityPrint(UnityStrElement); + UnityPrintNumberByStyle((num_elements - elements - 1), UNITY_DISPLAY_STYLE_UINT); + } + UnityPrint(UnityStrByte); + UnityPrintNumberByStyle((length - bytes - 1), UNITY_DISPLAY_STYLE_UINT); + UnityPrint(UnityStrExpected); + UnityPrintNumberByStyle(*ptr_exp, UNITY_DISPLAY_STYLE_HEX8); + UnityPrint(UnityStrWas); + UnityPrintNumberByStyle(*ptr_act, UNITY_DISPLAY_STYLE_HEX8); + UnityAddMsgIfSpecified(msg); + UNITY_FAIL_AND_BAIL; + } + ptr_exp += 1; + ptr_act += 1; + } + ///////////////////////////////////// + + } +} + +//----------------------------------------------- +// Control Functions +//----------------------------------------------- + +void UnityFail(const char* msg, const UNITY_LINE_TYPE line) +{ + UNITY_SKIP_EXECUTION; + + UnityTestResultsBegin(Unity.TestFile, line); + UnityPrintFail(); + if (msg != NULL) + { + UNITY_OUTPUT_CHAR(':'); + if (msg[0] != ' ') + { + UNITY_OUTPUT_CHAR(' '); + } + UnityPrint(msg); + } + UNITY_FAIL_AND_BAIL; +} + +//----------------------------------------------- +void UnityIgnore(const char* msg, const UNITY_LINE_TYPE line) +{ + UNITY_SKIP_EXECUTION; + + UnityTestResultsBegin(Unity.TestFile, line); + UnityPrint("IGNORE"); + if (msg != NULL) + { + UNITY_OUTPUT_CHAR(':'); + UNITY_OUTPUT_CHAR(' '); + UnityPrint(msg); + } + UNITY_IGNORE_AND_BAIL; +} + +//----------------------------------------------- +void setUp(void); +void tearDown(void); +void UnityDefaultTestRun(UnityTestFunction Func, const char* FuncName, const int FuncLineNum) +{ + Unity.CurrentTestName = FuncName; + Unity.CurrentTestLineNumber = FuncLineNum; + Unity.NumberOfTests++; + if (TEST_PROTECT()) + { + setUp(); + Func(); + } + if (TEST_PROTECT() && !(Unity.CurrentTestIgnored)) + { + tearDown(); + } + UnityConcludeTest(); +} + +//----------------------------------------------- +void UnityBegin(void) +{ + Unity.NumberOfTests = 0; + Unity.TestFailures = 0; + Unity.TestIgnores = 0; + Unity.CurrentTestFailed = 0; + Unity.CurrentTestIgnored = 0; +} + +//----------------------------------------------- +int UnityEnd(void) +{ + UnityPrint("-----------------------"); + UNITY_PRINT_EOL; + UnityPrintNumber(Unity.NumberOfTests); + UnityPrint(" Tests "); + UnityPrintNumber(Unity.TestFailures); + UnityPrint(" Failures "); + UnityPrintNumber(Unity.TestIgnores); + UnityPrint(" Ignored"); + UNITY_PRINT_EOL; + if (Unity.TestFailures == 0U) + { + UnityPrintOk(); + } + else + { + UnityPrintFail(); + } + UNITY_PRINT_EOL; + return Unity.TestFailures; +} diff --git a/tests/unity/src/unity.h b/tests/unity/src/unity.h new file mode 100644 index 00000000..0c3abe18 --- /dev/null +++ b/tests/unity/src/unity.h @@ -0,0 +1,242 @@ +/* ========================================== + 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] +========================================== */ + +#ifndef UNITY_FRAMEWORK_H +#define UNITY_FRAMEWORK_H + +#define UNITY + +#include "unity_internals.h" + +//------------------------------------------------------- +// Configuration Options +//------------------------------------------------------- + +// Integers +// - Unity assumes 32 bit integers by default +// - If your compiler treats ints of a different size, define UNITY_INT_WIDTH + +// Floats +// - define UNITY_EXCLUDE_FLOAT to disallow floating point comparisons +// - define UNITY_FLOAT_PRECISION to specify the precision to use when doing TEST_ASSERT_EQUAL_FLOAT +// - define UNITY_FLOAT_TYPE to specify doubles instead of single precision floats +// - define UNITY_FLOAT_VERBOSE to print floating point values in errors (uses sprintf) +// - define UNITY_INCLUDE_DOUBLE to allow double floating point comparisons +// - define UNITY_EXCLUDE_DOUBLE to disallow double floating point comparisons (default) +// - define UNITY_DOUBLE_PRECISION to specify the precision to use when doing TEST_ASSERT_EQUAL_DOUBLE +// - define UNITY_DOUBLE_TYPE to specify something other than double +// - define UNITY_DOUBLE_VERBOSE to print floating point values in errors (uses sprintf) + +// Output +// - by default, Unity prints to standard out with putchar. define UNITY_OUTPUT_CHAR(a) with a different function if desired + +// Optimization +// - by default, line numbers are stored in unsigned shorts. Define UNITY_LINE_TYPE with a different type if your files are huge +// - by default, test and failure counters are unsigned shorts. Define UNITY_COUNTER_TYPE with a different type if you want to save space or have more than 65535 Tests. + +// Test Cases +// - define UNITY_SUPPORT_TEST_CASES to include the TEST_CASE macro, though really it's mostly about the runner generator script + +// Parameterized Tests +// - you'll want to create a define of TEST_CASE(...) which basically evaluates to nothing + +//------------------------------------------------------- +// Test Running Macros +//------------------------------------------------------- + +#define TEST_PROTECT() (setjmp(Unity.AbortFrame) == 0) + +#define TEST_ABORT() {longjmp(Unity.AbortFrame, 1);} + +#ifndef RUN_TEST +#define RUN_TEST(func, line_num) UnityDefaultTestRun(func, #func, line_num) +#endif + +#define TEST_LINE_NUM (Unity.CurrentTestLineNumber) +#define TEST_IS_IGNORED (Unity.CurrentTestIgnored) + +//------------------------------------------------------- +// Basic Fail and Ignore +//------------------------------------------------------- + +#define TEST_FAIL_MESSAGE(message) UNITY_TEST_FAIL(__LINE__, message) +#define TEST_FAIL() UNITY_TEST_FAIL(__LINE__, NULL) +#define TEST_IGNORE_MESSAGE(message) UNITY_TEST_IGNORE(__LINE__, message) +#define TEST_IGNORE() UNITY_TEST_IGNORE(__LINE__, NULL) +#define TEST_ONLY() + +//------------------------------------------------------- +// Test Asserts (simple) +//------------------------------------------------------- + +//Boolean +#define TEST_ASSERT(condition) UNITY_TEST_ASSERT( (condition), __LINE__, " Expression Evaluated To FALSE") +#define TEST_ASSERT_TRUE(condition) UNITY_TEST_ASSERT( (condition), __LINE__, " Expected TRUE Was FALSE") +#define TEST_ASSERT_UNLESS(condition) UNITY_TEST_ASSERT( !(condition), __LINE__, " Expression Evaluated To TRUE") +#define TEST_ASSERT_FALSE(condition) UNITY_TEST_ASSERT( !(condition), __LINE__, " Expected FALSE Was TRUE") +#define TEST_ASSERT_NULL(pointer) UNITY_TEST_ASSERT_NULL( (pointer), __LINE__, " Expected NULL") +#define TEST_ASSERT_NOT_NULL(pointer) UNITY_TEST_ASSERT_NOT_NULL((pointer), __LINE__, " Expected Non-NULL") + +//Integers (of all sizes) +#define TEST_ASSERT_EQUAL_INT(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_INT8(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT8((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_INT16(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT16((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_INT32(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT32((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_INT64(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT64((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_NOT_EQUAL(expected, actual) UNITY_TEST_ASSERT(((expected) != (actual)), __LINE__, " Expected Not-Equal") +#define TEST_ASSERT_EQUAL_UINT(expected, actual) UNITY_TEST_ASSERT_EQUAL_UINT( (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_UINT8(expected, actual) UNITY_TEST_ASSERT_EQUAL_UINT8( (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_UINT16(expected, actual) UNITY_TEST_ASSERT_EQUAL_UINT16( (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_UINT32(expected, actual) UNITY_TEST_ASSERT_EQUAL_UINT32( (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_UINT64(expected, actual) UNITY_TEST_ASSERT_EQUAL_UINT64( (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_HEX(expected, actual) UNITY_TEST_ASSERT_EQUAL_HEX32((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_HEX8(expected, actual) UNITY_TEST_ASSERT_EQUAL_HEX8( (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_HEX16(expected, actual) UNITY_TEST_ASSERT_EQUAL_HEX16((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_HEX32(expected, actual) UNITY_TEST_ASSERT_EQUAL_HEX32((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_HEX64(expected, actual) UNITY_TEST_ASSERT_EQUAL_HEX64((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_BITS(mask, expected, actual) UNITY_TEST_ASSERT_BITS((mask), (expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_BITS_HIGH(mask, actual) UNITY_TEST_ASSERT_BITS((mask), (_UU32)(-1), (actual), __LINE__, NULL) +#define TEST_ASSERT_BITS_LOW(mask, actual) UNITY_TEST_ASSERT_BITS((mask), (_UU32)(0), (actual), __LINE__, NULL) +#define TEST_ASSERT_BIT_HIGH(bit, actual) UNITY_TEST_ASSERT_BITS(((_UU32)1 << bit), (_UU32)(-1), (actual), __LINE__, NULL) +#define TEST_ASSERT_BIT_LOW(bit, actual) UNITY_TEST_ASSERT_BITS(((_UU32)1 << bit), (_UU32)(0), (actual), __LINE__, NULL) + +//Integer Ranges (of all sizes) +#define TEST_ASSERT_INT_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_INT_WITHIN(delta, expected, actual, __LINE__, NULL) +#define TEST_ASSERT_UINT_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_UINT_WITHIN(delta, expected, actual, __LINE__, NULL) +#define TEST_ASSERT_HEX_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_HEX32_WITHIN(delta, expected, actual, __LINE__, NULL) +#define TEST_ASSERT_HEX8_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_HEX8_WITHIN(delta, expected, actual, __LINE__, NULL) +#define TEST_ASSERT_HEX16_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_HEX16_WITHIN(delta, expected, actual, __LINE__, NULL) +#define TEST_ASSERT_HEX32_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_HEX32_WITHIN(delta, expected, actual, __LINE__, NULL) +#define TEST_ASSERT_HEX64_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, __LINE__, NULL) + +//Structs and Strings +#define TEST_ASSERT_EQUAL_PTR(expected, actual) UNITY_TEST_ASSERT_EQUAL_PTR((expected), (actual), __LINE__, NULL) +#define TEST_ASSERT_EQUAL_STRING(expected, actual) UNITY_TEST_ASSERT_EQUAL_STRING(expected, actual, __LINE__, NULL) +#define TEST_ASSERT_EQUAL_MEMORY(expected, actual, len) UNITY_TEST_ASSERT_EQUAL_MEMORY(expected, actual, len, __LINE__, NULL) + +//Arrays +#define TEST_ASSERT_EQUAL_INT_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT_ARRAY(expected, actual, num_elements, __LINE__, NULL) +#define TEST_ASSERT_EQUAL_INT8_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY(expected, actual, num_elements, __LINE__, NULL) +#define TEST_ASSERT_EQUAL_INT16_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY(expected, actual, num_elements, __LINE__, NULL) +#define TEST_ASSERT_EQUAL_INT32_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT32_ARRAY(expected, actual, num_elements, __LINE__, NULL) +#define TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, __LINE__, NULL) +#define TEST_ASSERT_EQUAL_UINT_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY(expected, actual, num_elements, __LINE__, NULL) +#define TEST_ASSERT_EQUAL_UINT8_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_UINT8_ARRAY(expected, actual, num_elements, __LINE__, NULL) +#define TEST_ASSERT_EQUAL_UINT16_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_UINT16_ARRAY(expected, actual, num_elements, __LINE__, NULL) +#define TEST_ASSERT_EQUAL_UINT32_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_UINT32_ARRAY(expected, actual, num_elements, __LINE__, NULL) +#define TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, __LINE__, NULL) +#define TEST_ASSERT_EQUAL_HEX_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, __LINE__, NULL) +#define TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, num_elements, __LINE__, NULL) +#define TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements, __LINE__, NULL) +#define TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, __LINE__, NULL) +#define TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, __LINE__, NULL) +#define TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements, __LINE__, NULL) +#define TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements, __LINE__, NULL) +#define TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements) UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, __LINE__, NULL) + +//Floating Point (If Enabled) +#define TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, __LINE__, NULL) +#define TEST_ASSERT_EQUAL_FLOAT(expected, actual) UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, __LINE__, NULL) +#define TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, __LINE__, NULL) +#define TEST_ASSERT_FLOAT_IS_INF(actual) UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, __LINE__, NULL) +#define TEST_ASSERT_FLOAT_IS_NEG_INF(actual) UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, __LINE__, NULL) +#define TEST_ASSERT_FLOAT_IS_NAN(actual) UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, __LINE__, NULL) + +//Double (If Enabled) +#define TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, __LINE__, NULL) +#define TEST_ASSERT_EQUAL_DOUBLE(expected, actual) UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, __LINE__, NULL) +#define TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, __LINE__, NULL) +#define TEST_ASSERT_DOUBLE_IS_INF(actual) UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, __LINE__, NULL) +#define TEST_ASSERT_DOUBLE_IS_NEG_INF(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, __LINE__, NULL) +#define TEST_ASSERT_DOUBLE_IS_NAN(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, __LINE__, NULL) + +//------------------------------------------------------- +// Test Asserts (with additional messages) +//------------------------------------------------------- + +//Boolean +#define TEST_ASSERT_MESSAGE(condition, message) UNITY_TEST_ASSERT( (condition), __LINE__, message) +#define TEST_ASSERT_TRUE_MESSAGE(condition, message) UNITY_TEST_ASSERT( (condition), __LINE__, message) +#define TEST_ASSERT_UNLESS_MESSAGE(condition, message) UNITY_TEST_ASSERT( !(condition), __LINE__, message) +#define TEST_ASSERT_FALSE_MESSAGE(condition, message) UNITY_TEST_ASSERT( !(condition), __LINE__, message) +#define TEST_ASSERT_NULL_MESSAGE(pointer, message) UNITY_TEST_ASSERT_NULL( (pointer), __LINE__, message) +#define TEST_ASSERT_NOT_NULL_MESSAGE(pointer, message) UNITY_TEST_ASSERT_NOT_NULL((pointer), __LINE__, message) + +//Integers (of all sizes) +#define TEST_ASSERT_EQUAL_INT_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, message) +#define TEST_ASSERT_EQUAL_INT8_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT8((expected), (actual), __LINE__, message) +#define TEST_ASSERT_EQUAL_INT16_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT16((expected), (actual), __LINE__, message) +#define TEST_ASSERT_EQUAL_INT32_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT32((expected), (actual), __LINE__, message) +#define TEST_ASSERT_EQUAL_INT64_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT64((expected), (actual), __LINE__, message) +#define TEST_ASSERT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, message) +#define TEST_ASSERT_NOT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT(((expected) != (actual)), __LINE__, message) +#define TEST_ASSERT_EQUAL_UINT_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_UINT( (expected), (actual), __LINE__, message) +#define TEST_ASSERT_EQUAL_UINT8_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_UINT8( (expected), (actual), __LINE__, message) +#define TEST_ASSERT_EQUAL_UINT16_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_UINT16( (expected), (actual), __LINE__, message) +#define TEST_ASSERT_EQUAL_UINT32_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_UINT32( (expected), (actual), __LINE__, message) +#define TEST_ASSERT_EQUAL_UINT64_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_UINT64( (expected), (actual), __LINE__, message) +#define TEST_ASSERT_EQUAL_HEX_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX32((expected), (actual), __LINE__, message) +#define TEST_ASSERT_EQUAL_HEX8_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX8( (expected), (actual), __LINE__, message) +#define TEST_ASSERT_EQUAL_HEX16_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX16((expected), (actual), __LINE__, message) +#define TEST_ASSERT_EQUAL_HEX32_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX32((expected), (actual), __LINE__, message) +#define TEST_ASSERT_EQUAL_HEX64_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX64((expected), (actual), __LINE__, message) +#define TEST_ASSERT_BITS_MESSAGE(mask, expected, actual, message) UNITY_TEST_ASSERT_BITS((mask), (expected), (actual), __LINE__, message) +#define TEST_ASSERT_BITS_HIGH_MESSAGE(mask, actual, message) UNITY_TEST_ASSERT_BITS((mask), (_UU32)(-1), (actual), __LINE__, message) +#define TEST_ASSERT_BITS_LOW_MESSAGE(mask, actual, message) UNITY_TEST_ASSERT_BITS((mask), (_UU32)(0), (actual), __LINE__, message) +#define TEST_ASSERT_BIT_HIGH_MESSAGE(bit, actual, message) UNITY_TEST_ASSERT_BITS(((_UU32)1 << bit), (_UU32)(-1), (actual), __LINE__, message) +#define TEST_ASSERT_BIT_LOW_MESSAGE(bit, actual, message) UNITY_TEST_ASSERT_BITS(((_UU32)1 << bit), (_UU32)(0), (actual), __LINE__, message) + +//Integer Ranges (of all sizes) +#define TEST_ASSERT_INT_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT_WITHIN(delta, expected, actual, __LINE__, message) +#define TEST_ASSERT_UINT_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_UINT_WITHIN(delta, expected, actual, __LINE__, message) +#define TEST_ASSERT_HEX_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_HEX32_WITHIN(delta, expected, actual, __LINE__, message) +#define TEST_ASSERT_HEX8_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_HEX8_WITHIN(delta, expected, actual, __LINE__, message) +#define TEST_ASSERT_HEX16_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_HEX16_WITHIN(delta, expected, actual, __LINE__, message) +#define TEST_ASSERT_HEX32_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_HEX32_WITHIN(delta, expected, actual, __LINE__, message) +#define TEST_ASSERT_HEX64_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, __LINE__, message) + +//Structs and Strings +#define TEST_ASSERT_EQUAL_PTR_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_PTR(expected, actual, __LINE__, message) +#define TEST_ASSERT_EQUAL_STRING_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_STRING(expected, actual, __LINE__, message) +#define TEST_ASSERT_EQUAL_MEMORY_MESSAGE(expected, actual, len, message) UNITY_TEST_ASSERT_EQUAL_MEMORY(expected, actual, len, __LINE__, message) + +//Arrays +#define TEST_ASSERT_EQUAL_INT_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_INT_ARRAY(expected, actual, num_elements, __LINE__, message) +#define TEST_ASSERT_EQUAL_INT8_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY(expected, actual, num_elements, __LINE__, message) +#define TEST_ASSERT_EQUAL_INT16_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY(expected, actual, num_elements, __LINE__, message) +#define TEST_ASSERT_EQUAL_INT32_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_INT32_ARRAY(expected, actual, num_elements, __LINE__, message) +#define TEST_ASSERT_EQUAL_INT64_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, __LINE__, message) +#define TEST_ASSERT_EQUAL_UINT_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY(expected, actual, num_elements, __LINE__, message) +#define TEST_ASSERT_EQUAL_UINT8_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_UINT8_ARRAY(expected, actual, num_elements, __LINE__, message) +#define TEST_ASSERT_EQUAL_UINT16_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_UINT16_ARRAY(expected, actual, num_elements, __LINE__, message) +#define TEST_ASSERT_EQUAL_UINT32_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_UINT32_ARRAY(expected, actual, num_elements, __LINE__, message) +#define TEST_ASSERT_EQUAL_UINT64_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, __LINE__, message) +#define TEST_ASSERT_EQUAL_HEX_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, __LINE__, message) +#define TEST_ASSERT_EQUAL_HEX8_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, num_elements, __LINE__, message) +#define TEST_ASSERT_EQUAL_HEX16_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements, __LINE__, message) +#define TEST_ASSERT_EQUAL_HEX32_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, __LINE__, message) +#define TEST_ASSERT_EQUAL_HEX64_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, __LINE__, message) +#define TEST_ASSERT_EQUAL_PTR_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements, __LINE__, message) +#define TEST_ASSERT_EQUAL_STRING_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements, __LINE__, message) +#define TEST_ASSERT_EQUAL_MEMORY_ARRAY_MESSAGE(expected, actual, len, num_elements, message) UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, __LINE__, message) + +//Floating Point (If Enabled) +#define TEST_ASSERT_FLOAT_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, __LINE__, message) +#define TEST_ASSERT_EQUAL_FLOAT_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, __LINE__, message) +#define TEST_ASSERT_EQUAL_FLOAT_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, __LINE__, message) +#define TEST_ASSERT_FLOAT_IS_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, __LINE__, message) +#define TEST_ASSERT_FLOAT_IS_NEG_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, __LINE__, message) +#define TEST_ASSERT_FLOAT_IS_NAN_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, __LINE__, message) + +//Double (If Enabled) +#define TEST_ASSERT_DOUBLE_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, __LINE__, message) +#define TEST_ASSERT_EQUAL_DOUBLE_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, __LINE__, message) +#define TEST_ASSERT_EQUAL_DOUBLE_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, __LINE__, message) +#define TEST_ASSERT_DOUBLE_IS_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, __LINE__, message) +#define TEST_ASSERT_DOUBLE_IS_NEG_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, __LINE__, message) +#define TEST_ASSERT_DOUBLE_IS_NAN_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, __LINE__, message) +#endif diff --git a/tests/unity/src/unity_internals.h b/tests/unity/src/unity_internals.h new file mode 100644 index 00000000..1e2f668f --- /dev/null +++ b/tests/unity/src/unity_internals.h @@ -0,0 +1,546 @@ +/* ========================================== + 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] +========================================== */ + +#ifndef UNITY_INTERNALS_H +#define UNITY_INTERNALS_H + +#include +#include + +// Unity attempts to determine sizeof(various types) +// based on UINT_MAX, ULONG_MAX, etc. These are typically +// defined in limits.h. +#ifdef UNITY_USE_LIMITS_H +#include +#endif +// As a fallback, hope that including stdint.h will +// provide this information. +#ifndef UNITY_EXCLUDE_STDINT_H +#include +#endif + +//------------------------------------------------------- +// Guess Widths If Not Specified +//------------------------------------------------------- + +// Determine the size of an int, if not already specificied. +// We cannot use sizeof(int), because it is not yet defined +// at this stage in the trnslation of the C program. +// Therefore, infer it from UINT_MAX if possible. +#ifndef UNITY_INT_WIDTH + #ifdef UINT_MAX + #if (UINT_MAX == 0xFFFF) + #define UNITY_INT_WIDTH (16) + #elif (UINT_MAX == 0xFFFFFFFF) + #define UNITY_INT_WIDTH (32) + #elif (UINT_MAX == 0xFFFFFFFFFFFFFFFF) + #define UNITY_INT_WIDTH (64) + #ifndef UNITY_SUPPORT_64 + #define UNITY_SUPPORT_64 + #endif + #endif + #endif +#endif +#ifndef UNITY_INT_WIDTH + #define UNITY_INT_WIDTH (32) +#endif + +// Determine the size of a long, if not already specified, +// by following the process used above to define +// UNITY_INT_WIDTH. +#ifndef UNITY_LONG_WIDTH + #ifdef ULONG_MAX + #if (ULONG_MAX == 0xFFFF) + #define UNITY_LONG_WIDTH (16) + #elif (ULONG_MAX == 0xFFFFFFFF) + #define UNITY_LONG_WIDTH (32) + #elif (ULONG_MAX == 0xFFFFFFFFFFFFFFFF) + #define UNITY_LONG_WIDTH (64) + #ifndef UNITY_SUPPORT_64 + #define UNITY_SUPPORT_64 + #endif + #endif + #endif +#endif +#ifndef UNITY_LONG_WIDTH + #define UNITY_LONG_WIDTH (32) +#endif + +// Determine the size of a pointer, if not already specified, +// by following the process used above to define +// UNITY_INT_WIDTH. +#ifndef UNITY_POINTER_WIDTH + #ifdef UINTPTR_MAX + #if (UINTPTR_MAX <= 0xFFFF) + #define UNITY_POINTER_WIDTH (16) + #elif (UINTPTR_MAX <= 0xFFFFFFFF) + #define UNITY_POINTER_WIDTH (32) + #elif (UINTPTR_MAX <= 0xFFFFFFFFFFFFFFFF) + #define UNITY_POINTER_WIDTH (64) + #ifndef UNITY_SUPPORT_64 + #define UNITY_SUPPORT_64 + #endif + #endif + #endif +#endif +#ifndef UNITY_POINTER_WIDTH + #ifdef INTPTR_MAX + #if (INTPTR_MAX <= 0x7FFF) + #define UNITY_POINTER_WIDTH (16) + #elif (INTPTR_MAX <= 0x7FFFFFFF) + #define UNITY_POINTER_WIDTH (32) + #elif (INTPTR_MAX <= 0x7FFFFFFFFFFFFFFF) + #define UNITY_POINTER_WIDTH (64) + #ifndef UNITY_SUPPORT_64 + #define UNITY_SUPPORT_64 + #endif + #endif + #endif +#endif +#ifndef UNITY_POINTER_WIDTH + #define UNITY_POINTER_WIDTH (32) +#endif + +//------------------------------------------------------- +// Int Support +//------------------------------------------------------- + +#if (UNITY_INT_WIDTH == 32) + typedef unsigned char _UU8; + typedef unsigned short _UU16; + typedef unsigned int _UU32; + typedef signed char _US8; + typedef signed short _US16; + typedef signed int _US32; +#elif (UNITY_INT_WIDTH == 16) + typedef unsigned char _UU8; + typedef unsigned int _UU16; + typedef unsigned long _UU32; + typedef signed char _US8; + typedef signed int _US16; + typedef signed long _US32; +#else + #error Invalid UNITY_INT_WIDTH specified! (16 or 32 are supported) +#endif + +//------------------------------------------------------- +// 64-bit Support +//------------------------------------------------------- + +#ifndef UNITY_SUPPORT_64 + +//No 64-bit Support +typedef _UU32 _U_UINT; +typedef _US32 _U_SINT; + +#else + +//64-bit Support +#if (UNITY_LONG_WIDTH == 32) + typedef unsigned long long _UU64; + typedef signed long long _US64; +#elif (UNITY_LONG_WIDTH == 64) + typedef unsigned long _UU64; + typedef signed long _US64; +#else + #error Invalid UNITY_LONG_WIDTH specified! (32 or 64 are supported) +#endif +typedef _UU64 _U_UINT; +typedef _US64 _U_SINT; + +#endif + +//------------------------------------------------------- +// Pointer Support +//------------------------------------------------------- + +#if (UNITY_POINTER_WIDTH == 32) + typedef _UU32 _UP; +#define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX32 +#elif (UNITY_POINTER_WIDTH == 64) +#ifndef UNITY_SUPPORT_64 +#error "You've Specified 64-bit pointers without enabling 64-bit Support. Define UNITY_SUPPORT_64" +#endif + typedef _UU64 _UP; +#define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX64 +#elif (UNITY_POINTER_WIDTH == 16) + typedef _UU16 _UP; +#define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX16 +#else + #error Invalid UNITY_POINTER_WIDTH specified! (16, 32 or 64 are supported) +#endif + +//------------------------------------------------------- +// Float Support +//------------------------------------------------------- + +#ifdef UNITY_EXCLUDE_FLOAT + +//No Floating Point Support +#undef UNITY_FLOAT_PRECISION +#undef UNITY_FLOAT_TYPE +#undef UNITY_FLOAT_VERBOSE + +#else + +//Floating Point Support +#ifndef UNITY_FLOAT_PRECISION +#define UNITY_FLOAT_PRECISION (0.00001f) +#endif +#ifndef UNITY_FLOAT_TYPE +#define UNITY_FLOAT_TYPE float +#endif +typedef UNITY_FLOAT_TYPE _UF; + +#endif + +//------------------------------------------------------- +// Double Float Support +//------------------------------------------------------- + +//unlike FLOAT, we DON'T include by default +#ifndef UNITY_EXCLUDE_DOUBLE +#ifndef UNITY_INCLUDE_DOUBLE +#define UNITY_EXCLUDE_DOUBLE +#endif +#endif + +#ifdef UNITY_EXCLUDE_DOUBLE + +//No Floating Point Support +#undef UNITY_DOUBLE_PRECISION +#undef UNITY_DOUBLE_TYPE +#undef UNITY_DOUBLE_VERBOSE + +#else + +//Floating Point Support +#ifndef UNITY_DOUBLE_PRECISION +#define UNITY_DOUBLE_PRECISION (1e-12f) +#endif +#ifndef UNITY_DOUBLE_TYPE +#define UNITY_DOUBLE_TYPE double +#endif +typedef UNITY_DOUBLE_TYPE _UD; + +#endif + +//------------------------------------------------------- +// Output Method +//------------------------------------------------------- + +#ifndef UNITY_OUTPUT_CHAR +//Default to using putchar, which is defined in stdio.h above +#define UNITY_OUTPUT_CHAR(a) putchar(a) +#else +//If defined as something else, make sure we declare it here so it's ready for use +extern int UNITY_OUTPUT_CHAR(int); +#endif + +//------------------------------------------------------- +// Footprint +//------------------------------------------------------- + +#ifndef UNITY_LINE_TYPE +#define UNITY_LINE_TYPE _U_UINT +#endif + +#ifndef UNITY_COUNTER_TYPE +#define UNITY_COUNTER_TYPE _U_UINT +#endif + +//------------------------------------------------------- +// Internal Structs Needed +//------------------------------------------------------- + +typedef void (*UnityTestFunction)(void); + +#define UNITY_DISPLAY_RANGE_INT (0x10) +#define UNITY_DISPLAY_RANGE_UINT (0x20) +#define UNITY_DISPLAY_RANGE_HEX (0x40) +#define UNITY_DISPLAY_RANGE_AUTO (0x80) + +typedef enum +{ +#if (UNITY_INT_WIDTH == 16) + UNITY_DISPLAY_STYLE_INT = 2 + UNITY_DISPLAY_RANGE_INT + UNITY_DISPLAY_RANGE_AUTO, +#elif (UNITY_INT_WIDTH == 32) + UNITY_DISPLAY_STYLE_INT = 4 + UNITY_DISPLAY_RANGE_INT + UNITY_DISPLAY_RANGE_AUTO, +#elif (UNITY_INT_WIDTH == 64) + UNITY_DISPLAY_STYLE_INT = 8 + UNITY_DISPLAY_RANGE_INT + UNITY_DISPLAY_RANGE_AUTO, +#endif + UNITY_DISPLAY_STYLE_INT8 = 1 + UNITY_DISPLAY_RANGE_INT, + UNITY_DISPLAY_STYLE_INT16 = 2 + UNITY_DISPLAY_RANGE_INT, + UNITY_DISPLAY_STYLE_INT32 = 4 + UNITY_DISPLAY_RANGE_INT, +#ifdef UNITY_SUPPORT_64 + UNITY_DISPLAY_STYLE_INT64 = 8 + UNITY_DISPLAY_RANGE_INT, +#endif + +#if (UNITY_INT_WIDTH == 16) + UNITY_DISPLAY_STYLE_UINT = 2 + UNITY_DISPLAY_RANGE_UINT + UNITY_DISPLAY_RANGE_AUTO, +#elif (UNITY_INT_WIDTH == 32) + UNITY_DISPLAY_STYLE_UINT = 4 + UNITY_DISPLAY_RANGE_UINT + UNITY_DISPLAY_RANGE_AUTO, +#elif (UNITY_INT_WIDTH == 64) + UNITY_DISPLAY_STYLE_UINT = 8 + UNITY_DISPLAY_RANGE_UINT + UNITY_DISPLAY_RANGE_AUTO, +#endif + UNITY_DISPLAY_STYLE_UINT8 = 1 + UNITY_DISPLAY_RANGE_UINT, + UNITY_DISPLAY_STYLE_UINT16 = 2 + UNITY_DISPLAY_RANGE_UINT, + UNITY_DISPLAY_STYLE_UINT32 = 4 + UNITY_DISPLAY_RANGE_UINT, +#ifdef UNITY_SUPPORT_64 + UNITY_DISPLAY_STYLE_UINT64 = 8 + UNITY_DISPLAY_RANGE_UINT, +#endif + UNITY_DISPLAY_STYLE_HEX8 = 1 + UNITY_DISPLAY_RANGE_HEX, + UNITY_DISPLAY_STYLE_HEX16 = 2 + UNITY_DISPLAY_RANGE_HEX, + UNITY_DISPLAY_STYLE_HEX32 = 4 + UNITY_DISPLAY_RANGE_HEX, +#ifdef UNITY_SUPPORT_64 + UNITY_DISPLAY_STYLE_HEX64 = 8 + UNITY_DISPLAY_RANGE_HEX, +#endif + UNITY_DISPLAY_STYLE_UNKNOWN +} UNITY_DISPLAY_STYLE_T; + +struct _Unity +{ + const char* TestFile; + const char* CurrentTestName; + UNITY_LINE_TYPE CurrentTestLineNumber; + UNITY_COUNTER_TYPE NumberOfTests; + UNITY_COUNTER_TYPE TestFailures; + UNITY_COUNTER_TYPE TestIgnores; + UNITY_COUNTER_TYPE CurrentTestFailed; + UNITY_COUNTER_TYPE CurrentTestIgnored; + jmp_buf AbortFrame; +}; + +extern struct _Unity Unity; + +//------------------------------------------------------- +// Test Suite Management +//------------------------------------------------------- + +void UnityBegin(void); +int UnityEnd(void); +void UnityConcludeTest(void); +void UnityDefaultTestRun(UnityTestFunction Func, const char* FuncName, const int FuncLineNum); + +//------------------------------------------------------- +// Test Output +//------------------------------------------------------- + +void UnityPrint(const char* string); +void UnityPrintMask(const _U_UINT mask, const _U_UINT number); +void UnityPrintNumberByStyle(const _U_SINT number, const UNITY_DISPLAY_STYLE_T style); +void UnityPrintNumber(const _U_SINT number); +void UnityPrintNumberUnsigned(const _U_UINT number); +void UnityPrintNumberHex(const _U_UINT number, const char nibbles); + +#ifdef UNITY_FLOAT_VERBOSE +void UnityPrintFloat(const _UF number); +#endif + +//------------------------------------------------------- +// Test Assertion Fuctions +//------------------------------------------------------- +// Use the macros below this section instead of calling +// these directly. The macros have a consistent naming +// convention and will pull in file and line information +// for you. + +void UnityAssertEqualNumber(const _U_SINT expected, + const _U_SINT actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber, + const UNITY_DISPLAY_STYLE_T style); + +void UnityAssertEqualIntArray(const _U_SINT* expected, + const _U_SINT* actual, + const _UU32 num_elements, + const char* msg, + const UNITY_LINE_TYPE lineNumber, + const UNITY_DISPLAY_STYLE_T style); + +void UnityAssertBits(const _U_SINT mask, + const _U_SINT expected, + const _U_SINT actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber); + +void UnityAssertEqualString(const char* expected, + const char* actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber); + +void UnityAssertEqualStringArray( const char** expected, + const char** actual, + const _UU32 num_elements, + const char* msg, + const UNITY_LINE_TYPE lineNumber); + +void UnityAssertEqualMemory( const void* expected, + const void* actual, + const _UU32 length, + const _UU32 num_elements, + const char* msg, + const UNITY_LINE_TYPE lineNumber); + +void UnityAssertNumbersWithin(const _U_SINT delta, + const _U_SINT expected, + const _U_SINT actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber, + const UNITY_DISPLAY_STYLE_T style); + +void UnityFail(const char* message, const UNITY_LINE_TYPE line); + +void UnityIgnore(const char* message, const UNITY_LINE_TYPE line); + +#ifndef UNITY_EXCLUDE_FLOAT +void UnityAssertFloatsWithin(const _UF delta, + const _UF expected, + const _UF actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber); + +void UnityAssertEqualFloatArray(const _UF* expected, + const _UF* actual, + const _UU32 num_elements, + const char* msg, + const UNITY_LINE_TYPE lineNumber); + +void UnityAssertFloatIsInf(const _UF actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber); + +void UnityAssertFloatIsNegInf(const _UF actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber); + +void UnityAssertFloatIsNaN(const _UF actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber); +#endif + +#ifndef UNITY_EXCLUDE_DOUBLE +void UnityAssertDoublesWithin(const _UD delta, + const _UD expected, + const _UD actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber); + +void UnityAssertEqualDoubleArray(const _UD* expected, + const _UD* actual, + const _UU32 num_elements, + const char* msg, + const UNITY_LINE_TYPE lineNumber); + +void UnityAssertDoubleIsInf(const _UD actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber); + +void UnityAssertDoubleIsNegInf(const _UD actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber); + +void UnityAssertDoubleIsNaN(const _UD actual, + const char* msg, + const UNITY_LINE_TYPE lineNumber); +#endif + +//------------------------------------------------------- +// Basic Fail and Ignore +//------------------------------------------------------- + +#define UNITY_TEST_FAIL(line, message) UnityFail( (message), (UNITY_LINE_TYPE)line); +#define UNITY_TEST_IGNORE(line, message) UnityIgnore( (message), (UNITY_LINE_TYPE)line); + +//------------------------------------------------------- +// Test Asserts +//------------------------------------------------------- + +#define UNITY_TEST_ASSERT(condition, line, message) if (condition) {} else {UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, message);} +#define UNITY_TEST_ASSERT_NULL(pointer, line, message) UNITY_TEST_ASSERT(((pointer) == NULL), (UNITY_LINE_TYPE)line, message) +#define UNITY_TEST_ASSERT_NOT_NULL(pointer, line, message) UNITY_TEST_ASSERT(((pointer) != NULL), (UNITY_LINE_TYPE)line, message) + +#define UNITY_TEST_ASSERT_EQUAL_INT(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT) +#define UNITY_TEST_ASSERT_EQUAL_INT8(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US8 )(expected), (_U_SINT)(_US8 )(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT) +#define UNITY_TEST_ASSERT_EQUAL_INT16(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US16)(expected), (_U_SINT)(_US16)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT) +#define UNITY_TEST_ASSERT_EQUAL_INT32(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US32)(expected), (_U_SINT)(_US32)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT) +#define UNITY_TEST_ASSERT_EQUAL_UINT(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT) +#define UNITY_TEST_ASSERT_EQUAL_UINT8(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US8 )(expected), (_U_SINT)(_US8 )(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT) +#define UNITY_TEST_ASSERT_EQUAL_UINT16(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US16)(expected), (_U_SINT)(_US16)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT) +#define UNITY_TEST_ASSERT_EQUAL_UINT32(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US32)(expected), (_U_SINT)(_US32)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT) +#define UNITY_TEST_ASSERT_EQUAL_HEX8(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US8 )(expected), (_U_SINT)(_US8 )(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX8) +#define UNITY_TEST_ASSERT_EQUAL_HEX16(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US16)(expected), (_U_SINT)(_US16)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX16) +#define UNITY_TEST_ASSERT_EQUAL_HEX32(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_US32)(expected), (_U_SINT)(_US32)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX32) +#define UNITY_TEST_ASSERT_BITS(mask, expected, actual, line, message) UnityAssertBits((_U_SINT)(mask), (_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)line) + +#define UNITY_TEST_ASSERT_INT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(delta), (_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT) +#define UNITY_TEST_ASSERT_UINT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(delta), (_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT) +#define UNITY_TEST_ASSERT_HEX8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(_U_UINT)(_UU8 )(delta), (_U_SINT)(_U_UINT)(_UU8 )(expected), (_U_SINT)(_U_UINT)(_UU8 )(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX8) +#define UNITY_TEST_ASSERT_HEX16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(_U_UINT)(_UU16)(delta), (_U_SINT)(_U_UINT)(_UU16)(expected), (_U_SINT)(_U_UINT)(_UU16)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX16) +#define UNITY_TEST_ASSERT_HEX32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(_U_UINT)(_UU32)(delta), (_U_SINT)(_U_UINT)(_UU32)(expected), (_U_SINT)(_U_UINT)(_UU32)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX32) + +#define UNITY_TEST_ASSERT_EQUAL_PTR(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(_UP)(expected), (_U_SINT)(_UP)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_POINTER) +#define UNITY_TEST_ASSERT_EQUAL_STRING(expected, actual, line, message) UnityAssertEqualString((const char*)(expected), (const char*)(actual), (message), (UNITY_LINE_TYPE)line) +#define UNITY_TEST_ASSERT_EQUAL_MEMORY(expected, actual, len, line, message) UnityAssertEqualMemory((void*)(expected), (void*)(actual), (_UU32)(len), 1, (message), (UNITY_LINE_TYPE)line) + +#define UNITY_TEST_ASSERT_EQUAL_INT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT) +#define UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT8) +#define UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT16) +#define UNITY_TEST_ASSERT_EQUAL_INT32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT32) +#define UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT) +#define UNITY_TEST_ASSERT_EQUAL_UINT8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT8) +#define UNITY_TEST_ASSERT_EQUAL_UINT16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT16) +#define UNITY_TEST_ASSERT_EQUAL_UINT32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT32) +#define UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX8) +#define UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX16) +#define UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX32) +#define UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(_UP*)(expected), (const _U_SINT*)(_UP*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_POINTER) +#define UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((const char**)(expected), (const char**)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line) +#define UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((void*)(expected), (void*)(actual), (_UU32)(len), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line) + +#ifdef UNITY_SUPPORT_64 +#define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT64) +#define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT64) +#define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, message) UnityAssertEqualNumber((_U_SINT)(expected), (_U_SINT)(actual), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX64) +#define UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_INT64) +#define UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_UINT64) +#define UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((const _U_SINT*)(expected), (const _U_SINT*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX64) +#define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((_U_SINT)(delta), (_U_SINT)(expected), (_U_SINT)(actual), NULL, (UNITY_LINE_TYPE)line, UNITY_DISPLAY_STYLE_HEX64) +#endif + +#ifdef UNITY_EXCLUDE_FLOAT +#define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Floating Point Disabled") +#define UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Floating Point Disabled") +#define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Floating Point Disabled") +#define UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Floating Point Disabled") +#define UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Floating Point Disabled") +#define UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Floating Point Disabled") +#else +#define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message) UnityAssertFloatsWithin((_UF)(delta), (_UF)(expected), (_UF)(actual), (message), (UNITY_LINE_TYPE)line) +#define UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, message) UNITY_TEST_ASSERT_FLOAT_WITHIN((_UF)(expected) * (_UF)UNITY_FLOAT_PRECISION, (_UF)expected, (_UF)actual, (UNITY_LINE_TYPE)line, message) +#define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualFloatArray((_UF*)(expected), (_UF*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line) +#define UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, message) UnityAssertFloatIsInf((_UF)(actual), (message), (UNITY_LINE_TYPE)line) +#define UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, message) UnityAssertFloatIsNegInf((_UF)(actual), (message), (UNITY_LINE_TYPE)line) +#define UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, message) UnityAssertFloatIsNaN((_UF)(actual), (message), (UNITY_LINE_TYPE)line) +#endif + +#ifdef UNITY_EXCLUDE_DOUBLE +#define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Double Precision Disabled") +#define UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Double Precision Disabled") +#define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Double Precision Disabled") +#define UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Double Precision Disabled") +#define UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Double Precision Disabled") +#define UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Double Precision Disabled") +#else +#define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message) UnityAssertDoublesWithin((_UD)(delta), (_UD)(expected), (_UD)(actual), (message), (UNITY_LINE_TYPE)line) +#define UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, message) UNITY_TEST_ASSERT_DOUBLE_WITHIN((_UF)(expected) * (_UD)UNITY_DOUBLE_PRECISION, (_UD)expected, (_UD)actual, (UNITY_LINE_TYPE)line, message) +#define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualDoubleArray((_UD*)(expected), (_UD*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line) +#define UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, message) UnityAssertFloatIsInf((_UF)(actual), (message), (UNITY_LINE_TYPE)line) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, message) UnityAssertFloatIsNegInf((_UF)(actual), (message), (UNITY_LINE_TYPE)line) +#define UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, message) UnityAssertFloatIsNaN((_UF)(actual), (message), (UNITY_LINE_TYPE)line) +#endif + +#endif