diff --git a/.ci/gitea-qualification.md b/.ci/gitea-qualification.md new file mode 100644 index 0000000..a0737be --- /dev/null +++ b/.ci/gitea-qualification.md @@ -0,0 +1,3 @@ +Organization-scoped CI qualification. Workflow implementation lives in platform-ci; enrollment lives in ci-policy. + +Shared CI tooling visibility approved and public; qualify public consumer access. diff --git a/src/test/java/com/kingsrook/qbits/standardprocesstrace/utils/ProcessTraceBackendActivityStatsManagerTest.java b/src/test/java/com/kingsrook/qbits/standardprocesstrace/utils/ProcessTraceBackendActivityStatsManagerTest.java index 852f172..4dcb2c3 100644 --- a/src/test/java/com/kingsrook/qbits/standardprocesstrace/utils/ProcessTraceBackendActivityStatsManagerTest.java +++ b/src/test/java/com/kingsrook/qbits/standardprocesstrace/utils/ProcessTraceBackendActivityStatsManagerTest.java @@ -94,7 +94,18 @@ class ProcessTraceBackendActivityStatsManagerTest manager.add(processTraceId, key, 1, 2, 3); manager.setCleanupIntervalMillis(5); manager.setCleanupMaxAge(20); - SleepUtils.sleep(50, TimeUnit.MILLISECONDS); + // Wait for the scheduled cleanup rather than assuming a shared CI runner + // will schedule the background thread within 50 milliseconds. + long deadline = System.nanoTime() + TimeUnit.SECONDS.toNanos(2); + while(System.nanoTime() < deadline) + { + var messages = collectingLogger.getCollectedMessages(); + if(!messages.isEmpty() && messages.get(messages.size() - 1).getMessage().contains("\"size\":0")) + { + break; + } + SleepUtils.sleep(5, TimeUnit.MILLISECONDS); + } QLogger.deactivateCollectingLoggerForClass(ProcessTraceBackendActivityStatsManager.class); assertThat(collectingLogger.getCollectedMessages()).anyMatch(clm -> clm.getMessage().contains("\"size\":1"));