18622e55452e0b9039c051700148a18efb60efe3eGeoff Lang// 28622e55452e0b9039c051700148a18efb60efe3eGeoff Lang// Copyright (c) 2013 The ANGLE Project Authors. All rights reserved. 38622e55452e0b9039c051700148a18efb60efe3eGeoff Lang// Use of this source code is governed by a BSD-style license that can be 48622e55452e0b9039c051700148a18efb60efe3eGeoff Lang// found in the LICENSE file. 58622e55452e0b9039c051700148a18efb60efe3eGeoff Lang// 68622e55452e0b9039c051700148a18efb60efe3eGeoff Lang 78622e55452e0b9039c051700148a18efb60efe3eGeoff Lang#include "gtest/gtest.h" 88622e55452e0b9039c051700148a18efb60efe3eGeoff Lang#include "GLSLANG/ShaderLang.h" 98622e55452e0b9039c051700148a18efb60efe3eGeoff Lang 10b60465025feef2c9e3ac14886c02e4c5cd22cd97Geoff Langclass CompilerTestEnvironment : public testing::Environment 11b60465025feef2c9e3ac14886c02e4c5cd22cd97Geoff Lang{ 12b60465025feef2c9e3ac14886c02e4c5cd22cd97Geoff Lang public: 13b60465025feef2c9e3ac14886c02e4c5cd22cd97Geoff Lang virtual void SetUp() 14b60465025feef2c9e3ac14886c02e4c5cd22cd97Geoff Lang { 15b60465025feef2c9e3ac14886c02e4c5cd22cd97Geoff Lang if (!ShInitialize()) 16b60465025feef2c9e3ac14886c02e4c5cd22cd97Geoff Lang { 17b60465025feef2c9e3ac14886c02e4c5cd22cd97Geoff Lang FAIL() << "Failed to initialize the compiler."; 18b60465025feef2c9e3ac14886c02e4c5cd22cd97Geoff Lang } 19b60465025feef2c9e3ac14886c02e4c5cd22cd97Geoff Lang } 20b60465025feef2c9e3ac14886c02e4c5cd22cd97Geoff Lang 21b60465025feef2c9e3ac14886c02e4c5cd22cd97Geoff Lang virtual void TearDown() 22b60465025feef2c9e3ac14886c02e4c5cd22cd97Geoff Lang { 23b60465025feef2c9e3ac14886c02e4c5cd22cd97Geoff Lang if (!ShFinalize()) 24b60465025feef2c9e3ac14886c02e4c5cd22cd97Geoff Lang { 25b60465025feef2c9e3ac14886c02e4c5cd22cd97Geoff Lang FAIL() << "Failed to finalize the compiler."; 26b60465025feef2c9e3ac14886c02e4c5cd22cd97Geoff Lang } 27b60465025feef2c9e3ac14886c02e4c5cd22cd97Geoff Lang } 28b60465025feef2c9e3ac14886c02e4c5cd22cd97Geoff Lang}; 29b60465025feef2c9e3ac14886c02e4c5cd22cd97Geoff Lang 308622e55452e0b9039c051700148a18efb60efe3eGeoff Langint main(int argc, char** argv) 318622e55452e0b9039c051700148a18efb60efe3eGeoff Lang{ 3206bcde59e8529882732119933b0bb36dd0888889Geoff Lang testing::InitGoogleTest(&argc, argv); 33b60465025feef2c9e3ac14886c02e4c5cd22cd97Geoff Lang testing::AddGlobalTestEnvironment(new CompilerTestEnvironment()); 348622e55452e0b9039c051700148a18efb60efe3eGeoff Lang int rt = RUN_ALL_TESTS(); 358622e55452e0b9039c051700148a18efb60efe3eGeoff Lang return rt; 368622e55452e0b9039c051700148a18efb60efe3eGeoff Lang} 37