Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3003)

Unified Diff: gpu/khronos_glcts_support/khronos_glcts_test.cc

Issue 556333003: Add support for khronos gl-cts using its drawElements apis (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gpu/khronos_glcts_support/khronos_glcts_test.h ('k') | gpu/khronos_glcts_support/khronos_glcts_test.gyp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gpu/khronos_glcts_support/khronos_glcts_test.cc
diff --git a/gpu/gles2_conform_support/gles2_conform_test.cc b/gpu/khronos_glcts_support/khronos_glcts_test.cc
similarity index 55%
copy from gpu/gles2_conform_support/gles2_conform_test.cc
copy to gpu/khronos_glcts_support/khronos_glcts_test.cc
index 46a511569cb078aa43aaf37496b6db894ad4f5cb..b77bb8dcc1d9b90033523575f8c1eea90e3cd50f 100644
--- a/gpu/gles2_conform_support/gles2_conform_test.cc
+++ b/gpu/khronos_glcts_support/khronos_glcts_test.cc
@@ -1,20 +1,17 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
+// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "gpu/gles2_conform_support/gles2_conform_test.h"
+#include "gpu/khronos_glcts_support/khronos_glcts_test.h"
#include <string>
#include "base/at_exit.h"
#include "base/base_paths.h"
#include "base/command_line.h"
+#include "base/file_util.h"
#include "base/files/file_path.h"
-#include "base/files/file_util.h"
#include "base/logging.h"
-#if defined(OS_MACOSX)
-#include "base/mac/scoped_nsautorelease_pool.h"
-#endif
#include "base/path_service.h"
#include "base/process/launch.h"
#include "base/strings/string_util.h"
@@ -22,21 +19,23 @@
#include "gpu/config/gpu_test_expectations_parser.h"
#include "testing/gtest/include/gtest/gtest.h"
-bool RunGLES2ConformTest(const char* path) {
+base::FilePath g_deqp_log_dir;
+
+bool RunKhronosGLCTSTest(const char* test_name) {
// Load test expectations, and return early if a test is marked as FAIL.
base::FilePath src_path;
PathService::Get(base::DIR_SOURCE_ROOT, &src_path);
base::FilePath test_expectations_path =
src_path.Append(FILE_PATH_LITERAL("gpu")).
- Append(FILE_PATH_LITERAL("gles2_conform_support")).
- Append(FILE_PATH_LITERAL("gles2_conform_test_expectations.txt"));
+ Append(FILE_PATH_LITERAL("khronos_glcts_support")).
+ Append(FILE_PATH_LITERAL("khronos_glcts_test_expectations.txt"));
if (!base::PathExists(test_expectations_path)) {
- LOG(ERROR) << "Fail to locate gles2_conform_test_expectations.txt";
+ LOG(ERROR) << "Fail to locate khronos_glcts_test_expectations.txt";
return false;
}
gpu::GPUTestExpectationsParser test_expectations;
if (!test_expectations.LoadTestExpectations(test_expectations_path)) {
- LOG(ERROR) << "Fail to load gles2_conform_test_expectations.txt";
+ LOG(ERROR) << "Fail to load khronos_glcts_test_expectations.txt";
return false;
}
gpu::GPUTestBotConfig bot_config;
@@ -48,32 +47,37 @@ bool RunGLES2ConformTest(const char* path) {
LOG(ERROR) << "Invalid bot configuration";
return false;
}
- std::string path_string(path);
- std::string test_name;
- base::ReplaceChars(path_string, "\\/.", "_", &test_name);
+
+ const ::testing::TestInfo* const test_info =
+ ::testing::UnitTest::GetInstance()->current_test_info();
int32 expectation =
- test_expectations.GetTestExpectation(test_name, bot_config);
+ test_expectations.GetTestExpectation(test_info->name(), bot_config);
if (expectation != gpu::GPUTestExpectationsParser::kGpuTestPass) {
- LOG(WARNING) << "Test " << test_name << " is bypassed";
+ LOG(WARNING) << "Test " << test_info->name() << " is bypassed";
return true;
}
base::FilePath test_path;
PathService::Get(base::DIR_EXE, &test_path);
+ base::FilePath archive(test_path.Append(FILE_PATH_LITERAL(
+ "khronos_glcts_data")));
base::FilePath program(test_path.Append(FILE_PATH_LITERAL(
- "gles2_conform_test_windowless")));
+ "khronos_glcts_test_windowless")));
+ base::FilePath log =
+ g_deqp_log_dir.AppendASCII(test_info->name()).
+ AddExtension(FILE_PATH_LITERAL(".log"));
- CommandLine* currentCmdLine = CommandLine::ForCurrentProcess();
CommandLine cmdline(program);
- cmdline.AppendArguments(*currentCmdLine, false);
- cmdline.AppendSwitch(std::string("--"));
- cmdline.AppendArg(std::string("-run=") + path);
+ cmdline.AppendSwitchPath("--deqp-log-filename", log);
+ cmdline.AppendSwitchPath("--deqp-archive-dir", archive);
+ cmdline.AppendArg("--deqp-gl-config-id=-1");
+ cmdline.AppendArg(std::string("--deqp-case=") + test_name);
std::string output;
bool success = base::GetAppOutput(cmdline, &output);
if (success) {
- size_t success_index = output.find("Conformance PASSED all");
- size_t failed_index = output.find("FAILED");
+ size_t success_index = output.find("Pass (Pass)");
+ size_t failed_index = output.find("Fail (Fail)");
success = (success_index != std::string::npos) &&
(failed_index == std::string::npos);
}
@@ -83,15 +87,18 @@ bool RunGLES2ConformTest(const char* path) {
return success;
}
-int main(int argc, char** argv) {
- base::AtExitManager exit_manager;
- CommandLine::Init(argc, argv);
-#if defined(OS_MACOSX)
- base::mac::ScopedNSAutoreleasePool pool;
-#endif
+int main(int argc, char *argv[]) {
+ base::AtExitManager at_exit;
+
::testing::InitGoogleTest(&argc, argv);
- return RUN_ALL_TESTS();
-}
+ if (argc == 2) {
+ g_deqp_log_dir = base::FilePath::FromUTF8Unsafe(argv[1]);
+ }
+ else {
+ base::GetTempDir(&g_deqp_log_dir);
+ }
+ return RUN_ALL_TESTS();
+}
« no previous file with comments | « gpu/khronos_glcts_support/khronos_glcts_test.h ('k') | gpu/khronos_glcts_support/khronos_glcts_test.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698