blob: c121ec40905be1f671f5779544282a5395158ac0 [file] [log] [blame]
/*****************************************************************************
*****
*****
*****
***** DANGER
***** DO NOT ALTER THIS TEST WITHOUT VERIFYING ScriptTest.java STILL WORKS
***** WE DEPEND ON VARIABLE ORDER FOR VERIFICATION
*****
*****
*****
*****************************************************************************/
#include "shared.rsh"
#include "structs.rsh"
// Testing primitive types
float floatTest = 1.99f;
double doubleTest = 2.05;
char charTest = -8;
short shortTest = -16;
int intTest = -32;
long longTest = 17179869184l; // 1 << 34
long long longlongTest = 68719476736l; // 1 << 36
bool boolTest = false;
struct myStruct {
int i;
} structTest;
rs_allocation allocationTest;
int *intPtrTest;
uchar ucharTest = 8;
ushort ushortTest = 16;
uint uintTest = 32;
ulong ulongTest = 4611686018427387904L;
int64_t int64_tTest = -17179869184l; // - 1 << 34
uint64_t uint64_tTest = 117179869184l;
static bool test_primitive_types() {
bool failed = false;
start();
_RS_ASSERT(floatTest == 2.99f);
_RS_ASSERT(doubleTest == 3.05);
_RS_ASSERT(charTest == -16);
_RS_ASSERT(shortTest == -32);
_RS_ASSERT(intTest == -64);
_RS_ASSERT(longTest == 17179869185l);
_RS_ASSERT(longlongTest == 68719476735l);
_RS_ASSERT(ucharTest == 8);
_RS_ASSERT(ushortTest == 16);
_RS_ASSERT(uintTest == 32);
_RS_ASSERT(ulongTest == 4611686018427387903L);
_RS_ASSERT(int64_tTest == -17179869184l);
_RS_ASSERT(uint64_tTest == 117179869185l);
float time = end();
if (failed) {
rsDebug("test_primitive_types FAILED", time);
}
else {
rsDebug("test_primitive_types PASSED", time);
}
return failed;
}
static bool test_vector_types() {
bool failed = false;
start();
_RS_ASSERT(avt->b2.x == 1);
_RS_ASSERT(avt->b2.y == 2);
_RS_ASSERT(avt->b3.x == 1);
_RS_ASSERT(avt->b3.y == 2);
_RS_ASSERT(avt->b3.z == 3);
_RS_ASSERT(avt->b4.x == 1);
_RS_ASSERT(avt->b4.y == 2);
_RS_ASSERT(avt->b4.z == 3);
_RS_ASSERT(avt->b4.w == 4);
_RS_ASSERT(avt->s2.x == 1);
_RS_ASSERT(avt->s2.y == 2);
_RS_ASSERT(avt->s3.x == 1);
_RS_ASSERT(avt->s3.y == 2);
_RS_ASSERT(avt->s3.z == 3);
_RS_ASSERT(avt->s4.x == 1);
_RS_ASSERT(avt->s4.y == 2);
_RS_ASSERT(avt->s4.z == 3);
_RS_ASSERT(avt->s4.w == 4);
_RS_ASSERT(avt->i2.x == 1);
_RS_ASSERT(avt->i2.y == 2);
_RS_ASSERT(avt->i3.x == 1);
_RS_ASSERT(avt->i3.y == 2);
_RS_ASSERT(avt->i3.z == 3);
_RS_ASSERT(avt->i4.x == 1);
_RS_ASSERT(avt->i4.y == 2);
_RS_ASSERT(avt->i4.z == 3);
_RS_ASSERT(avt->i4.w == 4);
_RS_ASSERT(avt->f2.x == 1.0f);
_RS_ASSERT(avt->f2.y == 2.0f);
_RS_ASSERT(avt->f3.x == 1.0f);
_RS_ASSERT(avt->f3.y == 2.0f);
_RS_ASSERT(avt->f3.z == 3.0f);
_RS_ASSERT(avt->f4.x == 1.0f);
_RS_ASSERT(avt->f4.y == 2.0f);
_RS_ASSERT(avt->f4.z == 3.0f);
_RS_ASSERT(avt->f4.w == 4.0f);
float time = end();
if (failed) {
rsDebug("test_vector_types FAILED", time);
}
else {
rsDebug("test_vector_types PASSED", time);
}
return failed;
}
void test() {
bool failed = false;
failed |= test_primitive_types();
failed |= test_vector_types();
if (failed) {
rsSendToClientBlocking(RS_MSG_TEST_FAILED);
}
else {
rsSendToClientBlocking(RS_MSG_TEST_PASSED);
}
}