//----------------------------------------------------------------// int GlutHostTest ( int argc, char** argv ) { // TODO: integrate this nicely with host //AKUInitMemPool ( 100 * 1024 * 1024 ); atexit ( _cleanup ); glutInit ( &argc, argv ); AKUCreateContext (); AKUExtLoadLuacrypto (); AKUExtLoadLuacurl (); AKUExtLoadLuafilesystem (); AKUExtLoadLuasocket (); AKUExtLoadLuasql (); AKUTestInit (); AKUSetFunc_OpenWindow ( _AKUOpenWindowFunc ); AKURunBytecode ( moai_lua, moai_lua_SIZE ); // parse the commands int total = argc - 1; // parse results file first int i = 1; for ( ; i < total; ++i ) { char* arg = argv [ i ]; // results if ( strcmp ( arg, "-r" ) == 0 ) { AKUTestSetResultsFile ( argv [ ++i ]); } } i = 1; for ( ; i < total; ++i ) { char* arg = argv [ i ]; if ( arg [ 0 ] != '-' ) break; // staging if ( strcmp ( arg, "-s" ) == 0 ) { AKUTestSetStaging (); } // test if ( strcmp ( arg, "-t" ) == 0 ) { AKUTestRunTest ( argv [ ++i ]); } } for ( ; i < argc; ++i ) { AKUTestRunScript ( argv [ i ]); } if ( sHasWindow ) { glutTimerFunc ( 0, _onTimer, 0 ); glutMainLoop (); } return 0; }
//----------------------------------------------------------------// void AKUModulesParseArgs ( int argc, char** argv ) { #if AKU_WITH_TEST int total = argc - 1; int i = 1; for ( ; i < total; ++i ) { char* arg = argv [ i ]; if ( arg [ 0 ] != '-' ) break; // filter file if ( strcmp ( arg, "-f" ) == 0 ) { AKUTestSetFilterFile ( argv [ ++i ]); } // filter if ( strcmp ( arg, "-F" ) == 0 ) { AKUTestSetFilter ( argv [ ++i ]); } // results if ( strcmp ( arg, "-r" ) == 0 ) { AKUTestSetResultsFile ( argv [ ++i ]); } // staging if ( strcmp ( arg, "-s" ) == 0 ) { AKUTestSetStaging (); } // test if ( strcmp ( arg, "-t" ) == 0 ) { AKUTestRunTest ( argv [ ++i ]); } // xml results if ( strcmp ( arg, "-x" ) == 0 ) { AKUTestSetXmlResultsFile ( argv [ ++i ]); } } for ( ; i < argc; ++i ) { AKUTestRunScript ( argv [ i ]); } #else if ( argc < 2 ) { AKURunScript ( "main.lua" ); } else { AKUSetArgv ( argv ); for ( int i = 1; i < argc; ++i ) { char* arg = argv [ i ]; if (( strcmp ( arg, "-s" ) == 0 ) && ( ++i < argc )) { char* script = argv [ i ]; AKURunString ( script ); } else { AKURunScript ( arg ); } } } #endif }