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