tests: fix UPnPContext shutdown timeout in ICE tests

Change-Id: I9a2ceb1bab75a87c0bf4af24c414a2819899729f
diff --git a/tests/ice.cpp b/tests/ice.cpp
index 9873bdb..32928af 100644
--- a/tests/ice.cpp
+++ b/tests/ice.cpp
@@ -92,7 +92,10 @@
     if (!upnpContext) {
         if (!ioContext) {
             ioContext = std::make_shared<asio::io_context>();
-            ioContextRunner = std::make_shared<std::thread>([&] { ioContext->run(); });
+            ioContextRunner = std::make_shared<std::thread>([&] {
+                auto work = asio::make_work_guard(*ioContext);
+                ioContext->run();
+            });
         }
         upnpContext = std::make_shared<dhtnet::upnp::UPnPContext>(ioContext, nullptr);
     }