예제 #1
0
//----------------------------------------------------------------//
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;
}
예제 #2
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
}