From b2a2940d8cd47b80269b3b8a54c0663a677cf918 Mon Sep 17 00:00:00 2001 From: Savely Skresanov Date: Sun, 9 Sep 2012 18:55:42 +0700 Subject: [PATCH] Add test files. --- src/tests/test.c | 171 +++++++++++++++++++++++++++++++++++++++++++++ src/tests/test.qvm | Bin 0 -> 2340 bytes 2 files changed, 171 insertions(+) create mode 100644 src/tests/test.c create mode 100644 src/tests/test.qvm diff --git a/src/tests/test.c b/src/tests/test.c new file mode 100644 index 000000000..06b9e9534 --- /dev/null +++ b/src/tests/test.c @@ -0,0 +1,171 @@ +int g; + +int trapp(int a, int b); +float compl(float* a, unsigned int n); +void spam(); + +int main() +{ + int l, r; + int a, b, m, d, s, as; + int b1, b2, b3; + float f, dd; + int i; + int k, j, o; + unsigned int ua, ub, um, ud, us, uas; + int re; + float arr[] = { 1.6f, -3.0f, 1.41f, -0.01f }; + float* point; + float res; + + trap_Print("System calls work\n"); + + if (!1) + return -1; + + trap_Print("Negation works\n"); + + if (!(9 == 9 && 6!=4 && 100>10 && 34<85)) + return -1; + + trap_Print("Basic comparisons work\n"); + + b1 = 9 & 3; + b2 = 7 | 8; + b3 = 10 ^ 3; + + if (!(b1 == 1 && b2 == 15 && b3 == 9)) + return -1; + + trap_Print("Boolean functions work\n"); + + l = 2; + l = l<<2; + + r = 9; + r = r>>2; + + if (!(l == 8 && r == 2)) + return -1; + + trap_Print("Bit shifts work\n"); + + a = 6; + b = 2*2; + + m = a*b; + d = a/b; + s = a+b; + as = a-b; + + if (!(m == 24 && d == 1 && s == 10 && as == 2)) + return -1; + + trap_Print("Arithmetics works\n"); + + f = 5.1f; + dd = 3.1415f; + + if (!((f*dd)>15.0f && (f*dd)<17.0f && (f-dd)<2.0f && (f-dd)>1.0f)) + return -1; + + trap_Print("Floating point arithmetics works\n"); + + i = f*dd; + + if (!(i==16)) + return -1; + + trap_Print("Float to Int works\n"); + + f = i+1; + + if (!(f>16.0f && f<18.0f)) + return -1; + + trap_Print("Int to Float works\n"); + + j = 0; o = 0; + for(k=0; k<5; k++) + j++; + + for(k=5; k>0; k--) + o++; + + if (!(o == 5 && j == 5)) + return -1; + + trap_Print("Cycles work\n"); + + g = 11; + g++; + + if (!(g == 12)) + return -1; + + trap_Print("Global variables work\n"); + + ua = 6; + ub = 2*2; + + um = ua*ub; + ud = ua/ub; + us = ua+ub; + uas = ua-ub; + + if (!(um == 24 && ud == 1 && us == 10 && uas == 2)) + return -1; + + trap_Print("Unsigned ints work\n"); + + point = &arr[0]; + point += 2; + if (!(*point == 1.41f)) + return -1; + + trap_Print("Pointer arithmetics works\n"); + + re = trapp(12, 4); + + if (!(re == 8)) + return -1; + + trap_Print("Function calls work\n"); + + res = compl(arr, 4); + + if (!(res<0.01f && res>(-0.01f))) + return -1; + + trap_Print("Complex function call works\n"); + + for(i=0; i<1000000; i++) + spam(); + + trap_Print("Stack spam check passed\n"); + + trap_Print("All checks are passed!\n"); + + return 10; +} + +int trapp(int a, int b) +{ + int c; + c = (a+b)/2; + return c; +} + +float compl(float* a, unsigned int n) +{ + int s, i; + for(i=0; i2l-X~f4B zl63`gHQgHE%#G!2_H#^&lYuB_It;1nOqZdNkOV7?#$|-UvO@DYsaCl4C4?iEmIju) zPYSGJ4YCb$o5uvKM=m*Y9a(OHq2zgW(NC~iqtJM_sETks;Kbp^oF8y;fs`r+XD%{i zlbv}BqhZMkYA-tT&Jc9LncG9qf-~Dg(0Q+A^(+dFhpbX4@1o?lC9h%hbxK(8|1*Rm z{$~dKJ5m-GzgTtVIfidOc>^IQ8kVe}_L_$*y3}pX{=h0J%$YCBj~4Gb%qcr zYPF;=KU_KcGtd!d{{SqurQt5_7rge86U=Jv;rj366bP0I4p}}0&#V@fo!6s<<}6n$ z@=uyi|BHOY(k}o@!LLZc7jKyF!!XB|d!{d@w;nDW4*qrF^-7h)0Alqdpp!M26o#a^ zEVT#7!te+-ht~o}Oqa-OR0~+bB3YSb&PrJ zk;0eMt!{u&e|wzrm#CD=FCxp&4DW&b%wz}+OV$vzFF12B1U>J}heHsWdN>53E!4`- z%mY3;g}mE_%?p15`@?o50>|f*7coqC|jTvPADCl)+Px)oh;y*ZUP^Q? z<%`%WxM^f*Sw{Y_@M0yAvu>X{2N_YZ%M~tNm2rZUYK5bGetrCS1()9=?gjMusM+bb zuoZ>7sSEZa*A3D%+Mchen^_RO?(w{a#om zH{#4?iQDKTK~}6S2~ZY$eu%Z>9oMCYaSocJrq43=|n+XJaW&{T9CFw g7os8XnkI1%e?8j4s%TB_;^w_Hi_k|jsz*`(1N9h=8~^|S literal 0 HcmV?d00001