SET(CMAKE_CXX_FLAGS_DEBUG "-g -std=c++17 -O0 -ggdb -Wp,-U_FORTIFY_SOURCE")
SET(CMAKE_C_FLAGS_RELEASE "-g -std=c99 -O2")
SET(CMAKE_CXX_FLAGS_RELEASE "-g -std=c++17 -O2")
-SET(CMAKE_C_FLAGS_CCOV "-g -std=c99 -O2 --coverage")
-SET(CMAKE_CXX_FLAGS_CCOV "-g -std=c++17 -O2 --coverage")
+SET(CMAKE_C_FLAGS_CCOV "-g -std=c99 -O0 -ggdb --coverage -Wp,-U_FORTIFY_SOURCE")
+SET(CMAKE_CXX_FLAGS_CCOV "-g -std=c++17 -O0 -ggdb --coverage -Wp,-U_FORTIFY_SOURCE")
# If gcov enabled, add build options and set the variable used in source codes
IF(GCOV_BUILD)
EXPECT_EQ(ret, 0);
}
+TEST_F(ClientRequestTest, close_connection_Positive)
+{
+ WA::SocketManager manager;
+ auto service = std::make_unique<WA::TestService>(std::make_shared<TestDLLoader>());
+ manager.RegisterSocketService(std::move(service));
+ WA::SocketManager::ConnectionID id = {0, 0};
+ EXPECT_NO_THROW(manager.Close(id));
+}
+
TEST_F(ClientRequestTest, cancel_Positive)
{
int ret = 1;
__compareWAuthnPubkeyCredentialAssertionS);
}
+TEST_F(WAuthnSerializationTest, message_buffer_clear_Positive)
+{
+ MessageBuffer buffer;
+ buffer.InitForStreaming();
+ EXPECT_NO_THROW(buffer.Clear());
+}
+
} // namespace WA
#include <gtest/gtest.h>
#include <iostream>
#include <limits>
+#include <string>
#include <utils.h>
#include "test-common.h"
}
};
+class UnknownException {
+public:
+ UnknownException(std::string message) : m_message(std::move(message)) {}
+
+ const char* what() const noexcept {
+ return m_message.c_str();
+ }
+private:
+ std::string m_message;
+};
+
TEST_F(UtilsTest, handle_exceptions_by_try_catch_functions_Positive)
{
int ret = try_catch([&]() -> int {
});
EXPECT_EQ(ret, WAUTHN_ERROR_UNKNOWN);
+ ret = try_catch([&]() -> int {
+ throw UnknownException("unknown_error");
+ });
+ EXPECT_EQ(ret, WAUTHN_ERROR_UNKNOWN);
+
ret = try_catch([&]() -> int {
return WAUTHN_ERROR_NONE;
});
EXPECT_EQ(ret, WAUTHN_ERROR_NONE);
}
+TEST_F(UtilsTest, display_known_unknown_exception_Positive)
+{
+ try {
+ ThrowMsg(SerializationException::InvalidStreamData, "Error");
+ } catch (const SerializationException::InvalidStreamData &e) {
+ EXPECT_NO_THROW(WA::Exception::DisplayKnownException(e));
+ }
+ EXPECT_NO_THROW(WA::Exception::DisplayUnknownException());
+}
+
} // namespace WebAuthn