From dcfc389f21f05ca124874aa0e532cef254e5255b Mon Sep 17 00:00:00 2001 From: Alex Fabijanic Date: Fri, 5 Dec 2025 20:54:14 -0600 Subject: [PATCH] fix(misc): add pdjson links to gitignore, remove unused var in SharedLibrary, harden TaskManagerTest --- .gitignore | 2 + Foundation/src/SharedLibrary_UNIX.cpp | 3 -- Foundation/testsuite/src/TaskManagerTest.cpp | 47 +++++++++++++++++--- JSON/src/pdjson.c | 1 + JSON/src/pdjson.h | 1 + 5 files changed, 44 insertions(+), 10 deletions(-) create mode 120000 JSON/src/pdjson.c create mode 120000 JSON/src/pdjson.h diff --git a/.gitignore b/.gitignore index be3ed9062..376b7dcd3 100644 --- a/.gitignore +++ b/.gitignore @@ -205,3 +205,5 @@ Foundation/src/zconf.h Foundation/src/zlib.h Foundation/src/zutil.c Foundation/src/zutil.h +Foundation/pdjson.c +Foundation/pdjson.h diff --git a/Foundation/src/SharedLibrary_UNIX.cpp b/Foundation/src/SharedLibrary_UNIX.cpp index 248c40b0e..5b4c648b2 100644 --- a/Foundation/src/SharedLibrary_UNIX.cpp +++ b/Foundation/src/SharedLibrary_UNIX.cpp @@ -180,7 +180,6 @@ std::vector SharedLibraryImpl::findMissingDependenciesImpl(const st if (!file) return missingDeps; - bool is64 = false; bool needsSwap = false; uint32_t ncmds = 0; uint32_t sizeofcmds = 0; @@ -213,7 +212,6 @@ std::vector SharedLibraryImpl::findMissingDependenciesImpl(const st if (magic == MH_MAGIC_64 || magic == MH_CIGAM_64) { - is64 = true; needsSwap = (magic == MH_CIGAM_64); file.seekg(-static_cast(sizeof(magic)), std::ios::cur); mach_header_64 header; @@ -225,7 +223,6 @@ std::vector SharedLibraryImpl::findMissingDependenciesImpl(const st } else if (magic == MH_MAGIC || magic == MH_CIGAM) { - is64 = false; needsSwap = (magic == MH_CIGAM); file.seekg(-static_cast(sizeof(magic)), std::ios::cur); mach_header header; diff --git a/Foundation/testsuite/src/TaskManagerTest.cpp b/Foundation/testsuite/src/TaskManagerTest.cpp index 612150b75..61cf32d40 100644 --- a/Foundation/testsuite/src/TaskManagerTest.cpp +++ b/Foundation/testsuite/src/TaskManagerTest.cpp @@ -19,6 +19,7 @@ #include "Poco/Thread.h" #include "Poco/ThreadPool.h" #include "Poco/Event.h" +#include "Poco/Stopwatch.h" #include "Poco/NObserver.h" #include "Poco/Exception.h" #include "Poco/AutoPtr.h" @@ -43,6 +44,7 @@ using Poco::NoThreadAvailableException; using Poco::SystemException; using Poco::NullPointerException; using Poco::AutoPtr; +using Poco::Stopwatch; namespace @@ -340,12 +342,23 @@ void TaskManagerTest::testError() tm.addObserver(NObserver(to, &TaskObserver::taskProgress)); AutoPtr pTT = new TestTask; assertTrue (tm.start(pTT.duplicate())); - while (pTT->state() < Task::TASK_RUNNING) Thread::sleep(50); + Stopwatch sw; + sw.start(); + while (pTT->state() < Task::TASK_RUNNING) + { + Thread::sleep(50); + assertTrue (sw.elapsed() < 5000000); // 5 second timeout + } assertTrue (pTT->progress() == 0); Thread::sleep(200); pTT->cont(); - while (pTT->progress() != 0.5) Thread::sleep(50); - assertTrue (to.progress() == 0.5); + sw.restart(); + while (to.progress() < 0.5) + { + Thread::sleep(50); + assertTrue (sw.elapsed() < 5000000); // 5 second timeout + } + assertTrue (to.progress() >= 0.5); assertTrue (to.started()); assertTrue (pTT->state() == Task::TASK_RUNNING); TaskManager::TaskList list = tm.taskList(); @@ -353,14 +366,34 @@ void TaskManagerTest::testError() assertTrue (tm.count() == 1); pTT->fail(); pTT->cont(); - while (pTT->state() != Task::TASK_FINISHED) Thread::sleep(50); + sw.restart(); + while (pTT->state() != Task::TASK_FINISHED) + { + Thread::sleep(50); + assertTrue (sw.elapsed() < 5000000); // 5 second timeout + } pTT->cont(); - while (pTT->state() != Task::TASK_FINISHED) Thread::sleep(50); + sw.restart(); + while (pTT->state() != Task::TASK_FINISHED) + { + Thread::sleep(50); + assertTrue (sw.elapsed() < 5000000); // 5 second timeout + } assertTrue (pTT->state() == Task::TASK_FINISHED); - while (!to.finished()) Thread::sleep(50); + sw.restart(); + while (!to.finished()) + { + Thread::sleep(50); + assertTrue (sw.elapsed() < 5000000); // 5 second timeout + } assertTrue (to.finished()); assertTrue (to.error() != nullptr); - while (tm.count() == 1) Thread::sleep(50); + sw.restart(); + while (tm.count() == 1) + { + Thread::sleep(50); + assertTrue (sw.elapsed() < 5000000); // 5 second timeout + } list = tm.taskList(); assertTrue (list.empty()); tm.cancelAll(); diff --git a/JSON/src/pdjson.c b/JSON/src/pdjson.c new file mode 120000 index 000000000..556e1d633 --- /dev/null +++ b/JSON/src/pdjson.c @@ -0,0 +1 @@ +/Users/alex/Claude/poco/dependencies/pdjson/src/pdjson.c \ No newline at end of file diff --git a/JSON/src/pdjson.h b/JSON/src/pdjson.h new file mode 120000 index 000000000..6df6aca41 --- /dev/null +++ b/JSON/src/pdjson.h @@ -0,0 +1 @@ +/Users/alex/Claude/poco/dependencies/pdjson/src/pdjson.h \ No newline at end of file