diff options
| author | Savely Skresanov <savask@yandex.ru> | 2012-09-09 11:55:42 (GMT) |
|---|---|---|
| committer | Savely Skresanov <savask@yandex.ru> | 2012-09-09 11:55:42 (GMT) |
| commit | b2a2940d8cd47b80269b3b8a54c0663a677cf918 (patch) | |
| tree | 7b2135b4ea30df0a65abed4d47a60ecc3ba04d5e /src/tests | |
| parent | cd6c193e812f5fcef18e19d673b7a6740422d59c (diff) | |
| download | powder-b2a2940d8cd47b80269b3b8a54c0663a677cf918.zip powder-b2a2940d8cd47b80269b3b8a54c0663a677cf918.tar.gz | |
Add test files.
Diffstat (limited to 'src/tests')
| -rw-r--r-- | src/tests/test.c | 171 | ||||
| -rw-r--r-- | src/tests/test.qvm | bin | 0 -> 2340 bytes |
2 files changed, 171 insertions, 0 deletions
diff --git a/src/tests/test.c b/src/tests/test.c new file mode 100644 index 0000000..06b9e95 --- /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; i<n; i++) + s+=a[i]; + return s; +} + +void spam() +{ + return; +} + diff --git a/src/tests/test.qvm b/src/tests/test.qvm Binary files differnew file mode 100644 index 0000000..22b99b2 --- /dev/null +++ b/src/tests/test.qvm |
