ANGLE_LIBTESTER_EXPORT void deqp_libtester_init_platform(int argc, char **argv, const char *deqpDataDir) { try { #if (DE_OS != DE_OS_WIN32) // Set stdout to line-buffered mode (will be fully buffered by default if stdout is pipe). setvbuf(stdout, DE_NULL, _IOLBF, 4 * 1024); #endif g_platform = createPlatform(); if (!deSetRoundingMode(DE_ROUNDINGMODE_TO_NEAREST)) { throw std::runtime_error("Failed to set floating point rounding mode."); } // TODO(jmadill): filter arguments g_cmdLine = new tcu::CommandLine(1, argv); g_archive = new tcu::DirArchive(deqpDataDir); g_log = new tcu::TestLog(g_cmdLine->getLogFileName(), g_cmdLine->getLogFlags()); g_testCtx = new tcu::TestContext(*g_platform, *g_archive, *g_log, *g_cmdLine, DE_NULL); g_root = new tcu::TestPackageRoot(*g_testCtx, tcu::TestPackageRegistry::getSingleton()); g_executor = new tcu::RandomOrderExecutor(*g_root, *g_testCtx); } catch (const std::exception& e) { tcu::die("%s", e.what()); } }
ANGLE_LIBTESTER_EXPORT bool deqp_libtester_init_platform(int argc, const char *argv[]) { try { #if (DE_OS != DE_OS_WIN32) // Set stdout to line-buffered mode (will be fully buffered by default if stdout is pipe). setvbuf(stdout, DE_NULL, _IOLBF, 4 * 1024); #endif g_platform = createPlatform(); if (!deSetRoundingMode(DE_ROUNDINGMODE_TO_NEAREST_EVEN)) { std::cout << "Failed to set floating point rounding mode." << std::endl; return false; } std::string deqpDataDir; if (!FindDataDir(&deqpDataDir)) { std::cout << "Failed to find dEQP data directory." << std::endl; return false; } g_cmdLine = new tcu::CommandLine(argc, argv); g_archive = new tcu::DirArchive(deqpDataDir.c_str()); g_log = new tcu::TestLog(GetLogFileName(deqpDataDir).c_str(), g_cmdLine->getLogFlags()); g_testCtx = new tcu::TestContext(*g_platform, *g_archive, *g_log, *g_cmdLine, DE_NULL); g_root = new tcu::TestPackageRoot(*g_testCtx, tcu::TestPackageRegistry::getSingleton()); g_executor = new tcu::RandomOrderExecutor(*g_root, *g_testCtx); } catch (const std::exception& e) { tcu::die("%s", e.what()); return false; } return true; }