int main(int argc, char **argv) { DetectMemoryLeaks(); printf("Performance test"); #ifdef _DEBUG printf(" (DEBUG)"); #endif printf("\n"); printf("AngelScript %s\n", asGetLibraryVersion()); TestBasic::Test(); TestBasic2::Test(); TestCall::Test(); TestCall2::Test(); TestInt::Test(); TestIntf::Test(); TestMthd::Test(); TestString::Test(); TestString2::Test(); printf("--------------------------------------------\n"); printf("Press any key to quit.\n"); while(!getch()); return 0; }
int main(int argc, char **argv) { DetectMemoryLeaks(); printf("Build performance test"); #ifdef _DEBUG printf(" (DEBUG)"); #endif printf("\n"); printf("AngelScript %s\n", asGetLibraryVersion()); TestBasic::Test(); TestBigArrays::Test(); TestManySymbols::Test(); TestManyFuncs::Test(); TestComplex::Test(); printf("--------------------------------------------\n"); printf("Press any key to quit.\n"); while(!getch()); return 0; }
int main(int argc, char **argv) { DetectMemoryLeaks(); printf("AngelScript version: %s\n", asGetLibraryVersion()); printf("AngelScript options: %s\n", asGetLibraryOptions()); #ifdef __dreamcast__ fs_chdir(asTestDir); #endif InstallMemoryManager(); if( TestScriptRetRef::Test() ) goto failed; else printf("-- TestScriptRetRef passed\n"); if( TestGarbageCollect::Test() ) goto failed; else printf("-- TestGarbageCollect passed\n"); if( TestFunctionPtr::Test() ) goto failed; else printf("-- TestFunctionPtr passed\n"); if( TestModule::Test() ) goto failed; else printf("-- TestModule passed\n"); if( TestGetSet::Test() ) goto failed; else printf("-- TestGetSet passed\n"); if( Test_Addon_ScriptArray::Test() ) goto failed; else printf("-- Test_Addon_ScriptArray passed\n"); if( TestOperator::Test() ) goto failed; else printf("-- TestOperator passed\n"); if( TestTemplate::Test() ) goto failed; else printf("-- TestTemplate passed\n"); if( TestDump::Test() ) goto failed; else printf("-- TestDump passed\n"); if( TestInheritance::Test() ) goto failed; else printf("-- TestInheritance passed\n"); if( TestScriptClassMethod::Test() ) goto failed; else printf("-- TestScriptClassMethod passed\n"); if( TestScriptString::Test() ) goto failed; else printf("-- TestScriptString passed\n"); if( TestSaveLoad::Test() ) goto failed; else printf("-- TestSaveLoad passed\n"); if( TestInterface::Test() ) goto failed; else printf("-- TestInterface passed\n"); if( TestCastOp::Test() ) goto failed; else printf("-- TestCastOp passed\n"); if( Test2Modules() ) goto failed; else printf("-- Test2Modules passed\n"); if( TestFile::Test() ) goto failed; else printf("-- TestFile passed\n"); if( TestArrayObject::Test() ) goto failed; else printf("-- TestArrayObject passed\n"); if( TestCompiler::Test() ) goto failed; else printf("-- TestCompiler passed\n"); if( TestOptimize() ) goto failed; else printf("-- TestOptimize passed\n"); if( TestConversion::Test() ) goto failed; else printf("-- TestConversion passed\n"); if( TestRegisterType::Test() ) goto failed; else printf("-- TestRegisterType passed\n"); if( TestRefArgument::Test() ) goto failed; else printf("-- TestRefArgument passed\n"); if( TestStream::Test() ) goto failed; else printf("-- TestStream passed\n"); if( TestEnum::Test() ) goto failed; else printf("-- TestEnum passed\n"); if( TestDynamicConfig::Test() ) goto failed; else printf("-- TestDynamicConfig passed\n"); if( TestObjHandle::Test() ) goto failed; else printf("-- TestObjHandle passed\n"); if( TestGlobalVar() ) goto failed; else printf("-- TestGlobalVar passed\n"); if( TestScriptStruct::Test() ) goto failed; else printf("-- TestScriptStruct passed\n"); if( TestRZ::Test() ) goto failed; else printf("-- TestRZ passed\n"); if( TestArray::Test() ) goto failed; else printf("-- TestArray passed\n"); if( TestAny::Test() ) goto failed; else printf("-- TestAny passed\n"); if( TestObjHandle2::Test() ) goto failed; else printf("-- TestObjHandle2 passed\n"); if( TestMetaData::Test() ) goto failed; else printf("-- TestMetaData passed\n"); if( TestDictionary::Test() ) goto failed; else printf("-- TestDictionary passed\n"); if( TestVector3() ) goto failed; else printf("-- TestVector3 passed\n"); if( TestConstObject::Test() ) goto failed; else printf("-- TestConstObject passed\n"); if( TestImplicitCast::Test() ) goto failed; else printf("-- TestImplicitCast passed\n"); if( TestImplicitHandle::Test() ) goto failed; else printf("-- TestImplicitHandle passed\n"); if( TestFor::Test() ) goto failed; else printf("-- TestFor passed\n"); if( TestRefCast::Test() ) goto failed; else printf("-- TestRefCast passed\n"); if( TestStdString() ) goto failed; else printf("-- TestStdString passed\n"); if( TestStack2::Test() ) goto failed; else printf("-- TestStack2 passed\n"); if( TestStdVector::Test() ) goto failed; else printf("-- TestStdVector passed\n"); if( TestArrayHandle::Test() ) goto failed; else printf("-- TestArrayHandle passed\n"); if( TestDict::Test() ) goto failed; else printf("-- TestDict passed\n"); if( TestMultiAssign::Test() ) goto failed; else printf("-- TestMultiAssign passed\n"); if( TestException() ) goto failed; else printf("-- TestException passed\n"); if( TestInt8::Test() ) goto failed; else printf("-- TestInt8 passed\n"); if( TestGeneric::Test() ) goto failed; else printf("-- TestGeneric passed\n"); if( TestBStr() ) goto failed; else printf("-- TestBStr passed\n"); if( TestTypedef::Test() ) goto failed; else printf("-- TestTypedef passed\n"); if( TestImport::Test() ) goto failed; else printf("-- TestImport passed\n"); if( TestAssign::Test() ) goto failed; else printf("-- TestAssign passed\n"); if( TestSwitch() ) goto failed; else printf("-- TestSwitch passed\n"); if( TestExceptionMemory::Test() ) goto failed; else printf("-- TestExceptionMemory passed\n"); if( TestObject::Test() ) goto failed; else printf("-- TestObject passed\n"); if( TestFactory::Test() ) goto failed; else printf("-- TestFactory passed\n"); if( TestFuncOverload() ) goto failed; else printf("-- TestFuncOverload passed\n"); if( TestObjZeroSize::Test() ) goto failed; else printf("-- TestObjZeroSize passed\n"); if( TestSingleton::Test() ) goto failed; else printf("-- TestSingleton passed\n"); if( TestCondition() ) goto failed; else printf("-- TestCondition passed\n"); if( TestObject2::Test() ) goto failed; else printf("-- TestObject2 passed\n"); if( TestShark::Test() ) goto failed; else printf("-- TestShark passed\n"); if( TestBool::Test() ) goto failed; else printf("-- TestBool passed\n"); if( TestBits::Test() ) goto failed; else printf("-- TestBits passed\n"); if( TestDestructor::Test() ) goto failed; else printf("-- TestDestructor passed\n"); if( TestConstructor2::Test() ) goto failed; else printf("-- TestConstructor2 passed\n"); if( TestUnsafeRef::Test() ) goto failed; else printf("-- TestUnsafeRef passed\n"); if( TestVarType::Test() ) goto failed; else printf("-- TestVarType passed\n"); if( TestScriptMath::Test() ) goto failed; else printf("-- TestScriptMath passed\n"); if( TestDebug::Test() ) goto failed; else printf("-- TestDebug passed\n"); if( TestGetArgPtr::Test() ) goto failed; else printf("-- TestGetArgPtr passed\n"); if( TestAutoHandle::Test() ) goto failed; else printf("-- TestAutoHandle passed\n"); if( TestObject3::Test() ) goto failed; else printf("-- TestObject3 passed\n"); if( TestArrayIntf::Test() ) goto failed; else printf("-- TestArrayIntf passed\n"); if( TestConstProperty::Test() ) goto failed; else printf("-- TestConstProperty passed\n"); if( TestSuspend::Test() ) goto failed; else printf("-- TestSuspend passed\n"); if( TestVector3_2::Test() ) goto failed; else printf("-- TestVector3_2 passed\n"); if( TestNested() ) goto failed; else printf("-- TestNested passed\n"); if( TestConstructor() ) goto failed; else printf("-- TestConstructor passed\n"); if( TestExecuteScript() ) goto failed; else printf("-- TestExecuteScript passed\n"); if( TestCustomMem::Test() ) goto failed; else printf("-- TestCustomMem passed\n"); if( TestPostProcess::Test() ) goto failed; else printf("-- TestPostProcess passed\n"); if( TestArgRef::Test() ) goto failed; else printf("-- TestArgRef passed\n"); if( TestNotInitialized() ) goto failed; else printf("-- TestNotInitialized passed\n"); if( TestConfig::Test() ) goto failed; else printf("-- TestConfig passed\n"); if( TestInt64() ) goto failed; else printf("-- TestInt64 passed\n"); if( TestImport2::Test() ) goto failed; else printf("-- TestImport2 passed\n"); if( TestEnumGlobVar() ) goto failed; else printf("-- TestEnumGlobVar passed\n"); if( TestConfigAccess::Test() ) goto failed; else printf("-- TestConfigAccess passed\n"); if( TestDiscard::Test() ) goto failed; else printf("-- TestDiscard passed\n"); if( TestParser::Test() ) goto failed; else printf("-- TestParser passed\n"); if( TestFloat::Test() ) goto failed; else printf("-- TestFloat passed\n"); if( TestTempVar() ) goto failed; else printf("-- TestTempVar passed\n"); if( TestModuleRef() ) goto failed; else printf("-- TestModuleRef passed\n"); if( TestExecuteString() ) goto failed; else printf("-- TestExecuteString passed\n"); if( TestStack() ) goto failed; else printf("-- TestStack passed\n"); if( TestCreateEngine() ) goto failed; else printf("-- TestCreateEngine passed\n"); if( TestLongToken() ) goto failed; else printf("-- TestLongToken passed\n"); if( TestOutput::Test() ) goto failed; else printf("-- TestOutput passed\n"); if( Test2Func::Test() ) goto failed; else printf("-- Test2Func passed\n"); if( TestCircularImport::Test() ) goto failed; else printf("-- TestCircularImport passed\n"); if( TestNeverVisited() ) goto failed; else printf("-- TestNeverVisited passed\n"); // The following tests are designed specifically to test the native calling conventions. // These are grouped by calling convention and ordered in increasing complexity. { // cdecl if( TestExecute() ) goto failed; else printf("-- TestExecute passed\n"); if( TestCDeclReturn::Test() ) goto failed; else printf("-- TestCDeclReturn passed\n"); if( TestExecute1Arg() ) goto failed; else printf("-- TestExecute1Arg passed\n"); if( TestExecute2Args() ) goto failed; else printf("-- TestExecute2Args passed\n"); if( TestExecute4Args() ) goto failed; else printf("-- TestExecute4Args passed\n"); if( TestExecute4Argsf() ) goto failed; else printf("-- TestExecute4Argsf passed\n"); if( TestExecuteMixedArgs() ) goto failed; else printf("-- TestExecuteMixedArgs passed\n"); if( TestExecute32Args() ) goto failed; else printf("-- TestExecute32Args passed\n"); if( TestExecute32MixedArgs() ) goto failed; else printf("-- TestExecute32MixedArgs passed\n"); if( TestCDecl_Class() ) goto failed; else printf("-- TestCDecl_Class passed\n"); if( TestCDecl_ClassA() ) goto failed; else printf("-- TestCDecl_ClassA passed\n"); if( TestCDecl_ClassC() ) goto failed; else printf("-- TestCDecl_ClassC passed\n"); if( TestCDecl_ClassD() ) goto failed; else printf("-- TestCDecl_ClassD passed\n"); // cdecl_objlast and cdecl_objfirst if( TestReturnString::Test() ) goto failed; else printf("-- TestReturnString passed\n"); if( TestNegateOperator() ) goto failed; else printf("-- TestNegateOperator passed\n"); if( TestReturnWithCDeclObjFirst() ) goto failed; else printf("-- TestReturnWithCDeclObjFirst passed\n"); // thiscall if( TestExecuteThis32MixedArgs() ) goto failed; else printf("-- TestExecuteThis32MixedArgs passed\n"); if( TestNotComplexThisCall() ) goto failed; else printf("-- TestNotComplexThisCall passed\n"); if( TestVirtualMethod() ) goto failed; else printf("-- TestVirtualMethod passed\n"); if( TestMultipleInheritance() ) goto failed; else printf("-- TestMultipleInheritance passed\n"); if( TestVirtualInheritance() ) goto failed; else printf("-- TestVirtualInheritance passed\n"); // stdcall if( TestStdcall4Args() ) goto failed; else printf("-- TestStdcall4Args passed\n"); if( TestNotComplexStdcall() ) goto failed; else printf("-- TestNotComplexStdcall passed\n"); } // This test uses ATL::CString thus it is turned off by default // if( TestCString::Test() ) goto failed; else printf("-- TestCString passed\n"); // Pointers are not supported by AngelScript at the moment, but they may be in the future // if( TestPointer::Test() ) goto failed; else printf("-- TestPointer passed\n"); RemoveMemoryManager(); //succeed: printf("--------------------------------------------\n"); printf("All of the tests passed with success.\n\n"); #if !defined(DONT_WAIT) && (defined(WIN32) || defined(_WIN64)) printf("Press any key to quit.\n"); while(!_getch()); #endif return 0; failed: printf("--------------------------------------------\n"); printf("One of the tests failed, see details above.\n\n"); #if !defined(DONT_WAIT) && (defined(WIN32) || defined(_WIN64)) printf("Press any key to quit.\n"); while(!_getch()); #endif return -1; }
int main(int argc, char **argv) { DetectMemoryLeaks(); printf("Performance test"); #ifdef _DEBUG printf(" (DEBUG)"); #endif printf("\n"); printf("AngelScript %s\n", asGetLibraryVersion()); int n; for( n = 0; n < 18; n++ ) testTimesBest[n] = 1000; for( n = 0; n < 3; n++ ) { TestBasic::Test(&testTimes[0]); printf("."); fflush(stdout); TestBasic2::Test(&testTimes[1]); printf("."); fflush(stdout); TestCall::Test(&testTimes[2]); printf("."); fflush(stdout); TestCall2::Test(&testTimes[3]); printf("."); fflush(stdout); TestFib::Test(&testTimes[4]); printf("."); fflush(stdout); TestInt::Test(&testTimes[5]); printf("."); fflush(stdout); TestIntf::Test(&testTimes[6]); printf("."); fflush(stdout); TestMthd::Test(&testTimes[7]); printf("."); fflush(stdout); TestString::Test(&testTimes[8]); printf("."); fflush(stdout); TestString2::Test(&testTimes[9]); printf("."); fflush(stdout); TestStringPooled::Test(&testTimes[10]); printf("."); fflush(stdout); TestThisProp::Test(&testTimes[11]); printf("."); fflush(stdout); TestVector3::Test(&testTimes[12]); printf("."); fflush(stdout); TestAssign::Test(&testTimes[13]); printf("."); fflush(stdout); for( int t = 0; t < 18; t++ ) { if( testTimesBest[t] > testTimes[t] ) testTimesBest[t] = testTimes[t]; } printf("\n"); } printf("Basic %.3f %.3f %.3f%s\n", testTimesOrig[ 0], testTimesOrig2[ 0], testTimesBest[ 0], testTimesBest[ 0] < testTimesOrig2[ 0] ? " +" : " -"); printf("Basic2 %.3f %.3f %.3f%s\n", testTimesOrig[ 1], testTimesOrig2[ 1], testTimesBest[ 1], testTimesBest[ 1] < testTimesOrig2[ 1] ? " +" : " -"); printf("Call %.3f %.3f %.3f%s\n", testTimesOrig[ 2], testTimesOrig2[ 2], testTimesBest[ 2], testTimesBest[ 2] < testTimesOrig2[ 2] ? " +" : " -"); printf("Call2 %.3f %.3f %.3f%s\n", testTimesOrig[ 3], testTimesOrig2[ 3], testTimesBest[ 3], testTimesBest[ 3] < testTimesOrig2[ 3] ? " +" : " -"); printf("Fib %.3f %.3f %.3f%s\n", testTimesOrig[ 4], testTimesOrig2[ 4], testTimesBest[ 4], testTimesBest[ 4] < testTimesOrig2[ 4] ? " +" : " -"); printf("Int %.3f %.3f %.3f%s\n", testTimesOrig[ 5], testTimesOrig2[ 5], testTimesBest[ 5], testTimesBest[ 5] < testTimesOrig2[ 5] ? " +" : " -"); printf("Intf %.3f %.3f %.3f%s\n", testTimesOrig[ 6], testTimesOrig2[ 6], testTimesBest[ 6], testTimesBest[ 6] < testTimesOrig2[ 6] ? " +" : " -"); printf("Mthd %.3f %.3f %.3f%s\n", testTimesOrig[ 7], testTimesOrig2[ 7], testTimesBest[ 7], testTimesBest[ 7] < testTimesOrig2[ 7] ? " +" : " -"); printf("String %.3f %.3f %.3f%s\n", testTimesOrig[ 8], testTimesOrig2[ 8], testTimesBest[ 8], testTimesBest[ 8] < testTimesOrig2[ 8] ? " +" : " -"); printf("String2 %.3f %.3f %.3f%s\n", testTimesOrig[ 9], testTimesOrig2[ 9], testTimesBest[ 9], testTimesBest[ 9] < testTimesOrig2[ 9] ? " +" : " -"); printf("StringPooled %.3f %.3f %.3f%s\n", testTimesOrig[10], testTimesOrig2[10], testTimesBest[10], testTimesBest[10] < testTimesOrig2[10] ? " +" : " -"); printf("ThisProp %.3f %.3f %.3f%s\n", testTimesOrig[11], testTimesOrig2[11], testTimesBest[11], testTimesBest[11] < testTimesOrig2[11] ? " +" : " -"); printf("Vector3 %.3f %.3f %.3f%s\n", testTimesOrig[12], testTimesOrig2[12], testTimesBest[12], testTimesBest[12] < testTimesOrig2[12] ? " +" : " -"); printf("Assign.1 %.3f %.3f %.3f%s\n", testTimesOrig[13], testTimesOrig2[13], testTimesBest[13], testTimesBest[13] < testTimesOrig2[13] ? " +" : " -"); printf("Assign.2 %.3f %.3f %.3f%s\n", testTimesOrig[14], testTimesOrig2[14], testTimesBest[14], testTimesBest[14] < testTimesOrig2[14] ? " +" : " -"); printf("Assign.3 %.3f %.3f %.3f%s\n", testTimesOrig[15], testTimesOrig2[15], testTimesBest[15], testTimesBest[15] < testTimesOrig2[15] ? " +" : " -"); printf("Assign.4 %.3f %.3f %.3f%s\n", testTimesOrig[16], testTimesOrig2[16], testTimesBest[16], testTimesBest[16] < testTimesOrig2[16] ? " +" : " -"); printf("Assign.5 %.3f %.3f %.3f%s\n", testTimesOrig[17], testTimesOrig2[17], testTimesBest[17], testTimesBest[17] < testTimesOrig2[17] ? " +" : " -"); printf("--------------------------------------------\n"); printf("Press any key to quit.\n"); #if defined(WIN32) while(!_getch()); #endif return 0; }