1 /*------------------------------------------------------------------------ 2 * Vulkan Conformance Tests 3 * ------------------------ 4 * 5 * Copyright (c) 2020 The Khronos Group Inc. 6 * 7 * Licensed under the Apache License, Version 2.0 (the "License"); 8 * you may not use this file except in compliance with the License. 9 * You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, software 14 * distributed under the License is distributed on an "AS IS" BASIS, 15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 * See the License for the specific language governing permissions and 17 * limitations under the License. 18 * 19 */ 20 /*! 21 * \file 22 * \brief Experimental crash postmortem tests 23 */ 24 /*--------------------------------------------------------------------*/ 25 26 #include "vktPostmortemTests.hpp" 27 #include "vktPostmortemShaderTimeoutTests.hpp" 28 #include "vktPostmortemUseAfterFreeTests.hpp" 29 #include "vktPostmortemDeviceFaultTests.hpp" 30 #include "vktPostmortemDeviceLossTests.hpp" 31 #include "vktTestGroupUtil.hpp" 32 33 namespace vkt 34 { 35 namespace postmortem 36 { 37 namespace 38 { 39 createChildren(tcu::TestCaseGroup * postmortemTests)40void createChildren(tcu::TestCaseGroup *postmortemTests) 41 { 42 tcu::TestContext &testCtx = postmortemTests->getTestContext(); 43 postmortemTests->addChild(createShaderTimeoutTests(testCtx)); 44 postmortemTests->addChild(createUseAfterFreeTests(testCtx)); 45 postmortemTests->addChild(createDeviceFaultTests(testCtx)); 46 postmortemTests->addChild(createDeviceLossTests(testCtx)); 47 } 48 49 } // namespace 50 createTests(tcu::TestContext & testCtx,const std::string & name)51tcu::TestCaseGroup *createTests(tcu::TestContext &testCtx, const std::string &name) 52 { 53 return createTestGroup(testCtx, name.c_str(), createChildren); 54 } 55 56 } // namespace postmortem 57 } // namespace vkt 58