ctests and cmake update
This commit is contained in:
parent
9e3d5aa9e0
commit
f291deba36
@ -2,23 +2,40 @@ cmake_minimum_required(VERSION 3.10)
|
||||
|
||||
project(sparkle)
|
||||
|
||||
include(GoogleTest)
|
||||
|
||||
set(SOURCE sources/main.cpp)
|
||||
set(LIBS ${CMAKE_SOURCE_DIR}/libs/)
|
||||
set(INCLUDE ${CMAKE_SOURCE_DIR}/include/)
|
||||
set(TESTS ${CMAKE_SOURCE_DIR}/tests)
|
||||
|
||||
find_package(CURL REQUIRED)
|
||||
find_path(IXWEBSOCKET_INCLUDE_DIR ixwebsocket)
|
||||
find_library(IXWEBSOCKET_LIBRARIES ixwebsocket)
|
||||
|
||||
message(STATUS "IXWEBSOCKET_LIBRARIES: ${IXWEBSOCKET_LIBRARIES}")
|
||||
message(STATUS "CURL_LIBRARIES: ${CURL_LIBRARIES}")
|
||||
|
||||
|
||||
if(NOT IXWEBSOCKET_INCLUDE_DIR OR NOT IXWEBSOCKET_LIBRARIES)
|
||||
message(FATAL_ERROR "ixwebsocket not found")
|
||||
endif()
|
||||
|
||||
if(NOT CURL_INCLUDE_DIRS OR NOT CURL_LIBRARIES)
|
||||
message(FATAL_ERROR "nghttp2 not found")
|
||||
message(FATAL_ERROR "curl not found")
|
||||
endif()
|
||||
|
||||
add_executable(${PROJECT_NAME} ${SOURCE})
|
||||
#add_library(sparkles STATIC ${SOURCE})
|
||||
add_executable(tests ${TESTS}/tests.cpp)
|
||||
|
||||
#enable_testing()
|
||||
|
||||
add_test(NAME network COMMAND tests)
|
||||
|
||||
#target_include_directories(sparkles PRIVATE ${LIBS} ${INCLUDE} ${IXWEBSOCKET_INCLUDE_DIR} ${CURL_INCLUDE_DIRS})
|
||||
|
||||
#target_link_libraries(sparkles PRIVATE ${IXWEBSOCKET_LIBRARIES} ${CURL_LIBRARIES})
|
||||
|
||||
target_include_directories(${PROJECT_NAME} PRIVATE
|
||||
${LIBS}
|
||||
@ -32,6 +49,19 @@ target_link_libraries(${PROJECT_NAME} PRIVATE
|
||||
${CURL_LIBRARIES}
|
||||
)
|
||||
|
||||
target_include_directories(tests PRIVATE
|
||||
${LIBS}
|
||||
${INCLUDE}
|
||||
${IXWEBSOCKET_INCLUDE_DIR}
|
||||
${CURL_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
target_link_libraries(tests gtest
|
||||
${IXWEBSOCKET_LIBRARIES}
|
||||
${CURL_LIBRARIES}
|
||||
gtest_main
|
||||
)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED True)
|
||||
set(CMAKE_CXX_FLAGS "-march=native -O2 -pipe")
|
||||
|
@ -2,17 +2,43 @@
|
||||
#include <includes.h>
|
||||
int main(int argc, char* argv[]) {
|
||||
if (argc != 3) return -1;
|
||||
WebSocket* bot = &WebSocket::getInstance(argv[2], GatewayIntents::AllIntents);
|
||||
WebSocket* bot = &WebSocket::getInstance(argv[2], GatewayIntents::AllIntents, false);
|
||||
bot->on(GatewayEvents::READY, [](const Bot<Message, User, Author>& msg) {
|
||||
if (!g(2, msg.net)->isBot()) {
|
||||
cout << g(0, msg.net)->send("939957962972229634", j("content", "asd")) << endl;
|
||||
}
|
||||
});
|
||||
bot->on(GatewayEvents::MESSAGE_CREATE, [](const Bot<Message, User, Author>& msg) {
|
||||
if (!g(2, msg.net)->isBot()) {
|
||||
cout << g(0, msg.net)->send("939957962972229634", j("content", g(2, msg.net)->content())) << endl;
|
||||
std::string lastID = "1292591828888977589";
|
||||
while (true) {
|
||||
std::vector<std::string> ids;
|
||||
std::cout << "Last ID: " << lastID << std::endl;
|
||||
json js = json::parse(g(0, msg.net)->getMessages("956854968260890654", "100", lastID));
|
||||
if (js.is_array() && !js.empty()) {
|
||||
for (const auto& message : js) {
|
||||
if (message["author"]["id"] == "956790566463614986") {
|
||||
std::cout << "My message ID: " << message["id"].get<std::string>() << std::endl;
|
||||
ids.push_back(message["id"].get<std::string>());
|
||||
}
|
||||
lastID = message["id"].get<std::string>();
|
||||
}
|
||||
if (ids.size() > 1) {
|
||||
for (size_t x = 0; x < ids.size(); x++) {
|
||||
try {
|
||||
json jss = json::parse(g(0, msg.net)->deleteMessage("956854968260890654", ids[x]));
|
||||
if (jss["code"].get<string>() == "20028") {
|
||||
std::this_thread::sleep_for(10s);
|
||||
}
|
||||
std::cout << "Delete response: " << jss["message"] << ":" << jss["code"] << std::endl;
|
||||
}
|
||||
catch (...) {
|
||||
std::cout << "DELETED" << std::endl;
|
||||
}
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(500));
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
std::cout << "No messages found or error in response." << std::endl;
|
||||
}
|
||||
//std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
||||
}
|
||||
});
|
||||
bot->start();
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
12
tests/tests.cpp
Normal file
12
tests/tests.cpp
Normal file
@ -0,0 +1,12 @@
|
||||
#include <gtest/gtest.h>
|
||||
int add(int a, int b) {
|
||||
return a + b;
|
||||
}
|
||||
TEST(AddTest, PositiveNumbers) {
|
||||
EXPECT_EQ(add(1, 2), 3);
|
||||
EXPECT_EQ(add(2, 3), 5);
|
||||
}
|
||||
TEST(AddTest, NegativeNumbers) {
|
||||
EXPECT_EQ(add(-1, -1), -2);
|
||||
EXPECT_EQ(add(-1, 1), 0);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user