int FAR PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { InitTotalStatistics(); InitEmptyString(); FastFunctionsInit(); TestStackPointers(); TestClass(); TestClassStorage(); TestUnknowns(); TestArrayUnknown(); TestSetUnknown(); TestArrayType(); TestSetType(); TestMapStringUnknown(); TestEvent(); TestActionEvent(); TestExternalChannels(); TestExternalChannelPadder(); TestChannels(); TestChannelsAccessor(); TestSingleChannelAccessor(); TestChunkFileNames(); TestParameters(); TestDistToRoot(); TestDistToStack(); TestObjectsSimple(); TestRoot(); TestObject(); TestPointer(); TestArrayCommonObject(); TestNamedObject(); TestObjectAllocator(); TestObjectWriterChunked(); TestObjectGraphSerialiser(); TestObjectReaderSimple(); TestObjectReaderChunked(); TestObjectStackPointers(); TestNamedIndexes(); TestObjectGraphDeserialiser(); TestObjectConverter(); TestObjects(); TestDehollowfication(); TestUsage(); TestArray(); TestSet(); TestKill(); TestEmbedded(); TestEmbeddedObjectRemapTos(); FastFunctionsKill(); KillEmptyString(); return TestTotalStatistics(); }
/* * Parse command line information. * argc, argv: the usual command line argument count and strings * * Return: Void * exit EXIT_FAILURE if error is encountered. * * Modification: * 2004/08/18 Albert Cheng. Add extra_parse feature. */ void TestParseCmdLine(int argc, char *argv[]) { int ret_code; while (argv++, --argc > 0){ if ((HDstrcmp(*argv, "-verbose") == 0) || (HDstrcmp(*argv, "-v") == 0)) { if (argc > 0){ --argc; ++argv; ParseTestVerbosity(*argv); }else{ TestUsage(); exit(EXIT_FAILURE); } } else if (((HDstrcmp(*argv, "-exclude") == 0) || (HDstrcmp(*argv, "-x") == 0))) { if (argc > 0){ --argc; ++argv; SetTest(*argv, SKIPTEST); }else{ TestUsage(); exit(EXIT_FAILURE); } } else if (((HDstrcmp(*argv, "-begin") == 0) || (HDstrcmp(*argv, "-b") == 0))) { if (argc > 0){ --argc; ++argv; SetTest(*argv, BEGINTEST); }else{ TestUsage(); exit(EXIT_FAILURE); } } else if (((HDstrcmp(*argv, "-only") == 0) || (HDstrcmp(*argv, "-o") == 0))) { if (argc > 0){ int Loop; --argc; ++argv; /* Skip all tests, then activate only one. */ for (Loop = 0; Loop < Index; Loop++) Test[Loop].SkipFlag = 1; SetTest(*argv, ONLYTEST); }else{ TestUsage(); exit(EXIT_FAILURE); } } else if ((HDstrcmp(*argv, "-summary") == 0) || (HDstrcmp(*argv, "-s") == 0)) Summary = 1; else if ((HDstrcmp(*argv, "-help") == 0) || (HDstrcmp(*argv, "-h") == 0)) { TestUsage(); exit(EXIT_SUCCESS); } else if ((HDstrcmp(*argv, "-cleanoff") == 0) || (HDstrcmp(*argv, "-c") == 0)) SetTestNoCleanup(); else { /* non-standard option. Break out. */ break; } } /* Call extra parsing function if provided. */ if (NULL != TestPrivateParser){ ret_code=TestPrivateParser(argc+1, argv-1); if (ret_code != 0) exit(EXIT_FAILURE); } }