blob: 3b20b306013b14129eb0a2dd0f92b51090ffbb90 [file] [log] [blame]
/*------------------------------------------------------------------------
* Vulkan Conformance Tests
* ------------------------
*
* Copyright (c) 2019 Google LLC
* Copyright (c) 2019 The Khronos Group Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*//*--------------------------------------------------------------------*/
#include "vktAmberTestCase.hpp"
#include "vktTestGroupUtil.hpp"
namespace vkt
{
namespace cts_amber
{
AmberTestCase* createAmberTestCase (tcu::TestContext& testCtx,
const char* name,
const char* description,
const char* category,
const std::string& filename,
const std::vector<std::string> requirements)
{
AmberTestCase *testCase = new AmberTestCase(testCtx, name, description);
for (auto req : requirements)
testCase->addRequirement(req);
// shader_test files are saved in <path>/external/vulkancts/data/vulkan/amber/<categoryname>/
// Make sure the input can be parsed before we use it.
if (testCase->parse(category, filename))
return testCase;
else
{
const std::string msg = "Failed to parse Amber file: " + filename;
delete testCase;
TCU_THROW(InternalError, msg.c_str());
}
return DE_NULL;
}
} // cts_amber
} // vkt