1234567891011121314151617181920212223242526272829303132 |
- #define DROGON_TEST_MAIN
- #include <drogon/drogon_test.h>
- #include <drogon/drogon.h>
- DROGON_TEST(BasicTest)
- {
- // Add your tests here
- }
- int main(int argc, char** argv)
- {
- using namespace drogon;
- std::promise<void> p1;
- std::future<void> f1 = p1.get_future();
- // Start the main loop on another thread
- std::thread thr([&]() {
- // Queues the promise to be fulfilled after starting the loop
- app().getLoop()->queueInLoop([&p1]() { p1.set_value(); });
- app().run();
- });
- // The future is only satisfied after the event loop started
- f1.get();
- int status = test::run(argc, argv);
- // Ask the event loop to shutdown and wait
- app().getLoop()->queueInLoop([]() { app().quit(); });
- thr.join();
- return status;
- }
|