172a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden/* 272a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden * Copyright (C) 2015 The Android Open Source Project 372a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden * 472a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden * Licensed under the Apache License, Version 2.0 (the "License"); 572a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden * you may not use this file except in compliance with the License. 672a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden * You may obtain a copy of the License at 772a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden * 872a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden * http://www.apache.org/licenses/LICENSE-2.0 972a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden * 1072a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden * Unless required by applicable law or agreed to in writing, software 1172a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden * distributed under the License is distributed on an "AS IS" BASIS, 1272a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1372a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden * See the License for the specific language governing permissions and 1472a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden * limitations under the License. 1572a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden */ 1672a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden 1772a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden#include <gtest/gtest.h> 1872a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden 1972a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden#include <openssl/engine.h> 2072a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden 2172a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willdenint main(int argc, char** argv) { 2267380a948d80ce62455b1ec9ed8283e3349498c6Shawn Willden#if !defined(OPENSSL_IS_BORINGSSL) 2372a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden ERR_load_crypto_strings(); 2467380a948d80ce62455b1ec9ed8283e3349498c6Shawn Willden#endif // not OPENSSL_IS_BORINGSSL 2572a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden ::testing::InitGoogleTest(&argc, argv); 2672a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden int result = RUN_ALL_TESTS(); 2767380a948d80ce62455b1ec9ed8283e3349498c6Shawn Willden#if !defined(OPENSSL_IS_BORINGSSL) 2872a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden // Clean up stuff OpenSSL leaves around, so Valgrind doesn't complain. 2972a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden CRYPTO_cleanup_all_ex_data(); 3072a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden ERR_remove_thread_state(NULL); 3172a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden ERR_free_strings(); 3267380a948d80ce62455b1ec9ed8283e3349498c6Shawn Willden#endif // not OPENSSL_IS_BORINGSSL 3372a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden return result; 3472a5fdde1095cc012b232987d1f02de9b0507b89Shawn Willden} 35