diff --git a/test/addons/nsolid-metrics/binding.cc b/test/addons/nsolid-metrics/binding.cc index a4343688e43..2aac0117a1e 100644 --- a/test/addons/nsolid-metrics/binding.cc +++ b/test/addons/nsolid-metrics/binding.cc @@ -44,8 +44,8 @@ static void GetEnvMetricsGone(const FunctionCallbackInfo& args) { assert(args[0]->IsNumber()); uint64_t thread_id = args[0].As()->Value(); SharedThreadMetrics tm = ThreadMetrics::Create(GetEnvInst(thread_id)); - // The cb should never be called as SharedThreadMetrics is destroyed right - // after leaving the current scope. + // The cb should not be called most of the time as SharedThreadMetrics might + // be destroyed right after leaving the current scope. args.GetReturnValue().Set(tm->Update(metrics_cb_gone, nullptr, tm.get())); } diff --git a/test/addons/nsolid-metrics/nsolid-metrics.js b/test/addons/nsolid-metrics/nsolid-metrics.js index a1f32ad66eb..8a57aaab7d9 100644 --- a/test/addons/nsolid-metrics/nsolid-metrics.js +++ b/test/addons/nsolid-metrics/nsolid-metrics.js @@ -25,7 +25,7 @@ if (!isMainThread) { process.on('beforeExit', mustCall(() => { assert.strictEqual(binding.getCbCntr(), wkr_count); - assert.strictEqual(binding.getCbCntrGone(), 0); + assert.ok(binding.getCbCntrGone() < wkr_count/ 2); assert.strictEqual(binding.getCbCntrLambda(), wkr_count); }));