#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <gtest/gtest.h>
#include <openssl/crypto.h>
#include <openssl/err.h>
#include <openssl/evp.h>
#include <openssl/mem.h>
#include "./internal.h"
#if defined(OPENSSL_WINDOWS)
OPENSSL_MSVC_PRAGMA(warning(push, 3))
#include <windows.h>
OPENSSL_MSVC_PRAGMA(warning(pop))
#else
#include <errno.h>
#endif
TEST(ErrTest, Overflow) { … }
TEST(ErrTest, PutError) { … }
TEST(ErrTest, ClearError) { … }
TEST(ErrTest, Print) { … }
TEST(ErrTest, Release) { … }
static bool HasSuffix(const char *str, const char *suffix) { … }
TEST(ErrTest, PutMacro) { … }
TEST(ErrTest, SaveAndRestore) { … }
#if defined(OPENSSL_WINDOWS)
TEST(ErrTest, PreservesLastError) {
SetLastError(ERROR_INVALID_FUNCTION);
ERR_get_error();
EXPECT_EQ(static_cast<DWORD>(ERROR_INVALID_FUNCTION), GetLastError());
}
#else
TEST(ErrTest, PreservesErrno) { … }
#endif
TEST(ErrTest, String) { … }
TEST(ErrTest, UnknownError) { … }