Hi, Sergey,

thanks for the patch! LGTM

On 28.09.2024 13:33, Sergey Kaplun wrote:
When run under Tarantool, the test may fail if Tarantool already has
performed some finalize steps. This patch fixes it by making the test
more general.
---

Branch: https://github.com/tarantool/luajit/tree/skaplun/fix-getmetrics-lapi-test

 test/tarantool-tests/misclib-getmetrics-lapi.test.lua | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/test/tarantool-tests/misclib-getmetrics-lapi.test.lua b/test/tarantool-tests/misclib-getmetrics-lapi.test.lua
index 741900b6..89aecf7b 100644
--- a/test/tarantool-tests/misclib-getmetrics-lapi.test.lua
+++ b/test/tarantool-tests/misclib-getmetrics-lapi.test.lua
@@ -132,8 +132,9 @@ test:test("gc-steps", function(subtest)
     subtest:ok(oldm.gc_steps_atomic > 0)
     subtest:ok(oldm.gc_steps_sweepstring > 0)
     subtest:ok(oldm.gc_steps_sweep > 0)
-    -- Nothing to finalize, skipped.
-    subtest:is(oldm.gc_steps_finalize, 0)
+    -- Nothing to finalize, skipped. Tarantool may perform some
+    -- finalize steps already, so just use the base test.
+    subtest:ok(oldm.gc_steps_finalize >= 0)
 
     -- As long as we stopped the GC, consequent call
     -- should return the same values:
@@ -144,7 +145,7 @@ test:test("gc-steps", function(subtest)
     subtest:is(newm.gc_steps_sweepstring - oldm.gc_steps_sweepstring, 0)
     subtest:is(newm.gc_steps_sweep - oldm.gc_steps_sweep, 0)
     -- Nothing to finalize, skipped.
-    subtest:is(newm.gc_steps_finalize, 0)
+    subtest:is(newm.gc_steps_finalize - oldm.gc_steps_finalize, 0)
     oldm = newm
 
     -- Now the last phase: run full GC once and make sure that
@@ -158,7 +159,7 @@ test:test("gc-steps", function(subtest)
     subtest:ok(newm.gc_steps_sweepstring - oldm.gc_steps_sweepstring >= 1)
     subtest:ok(newm.gc_steps_sweep  - oldm.gc_steps_sweep >= 1)
     -- Nothing to finalize, skipped.
-    subtest:is(newm.gc_steps_finalize, 0)
+    subtest:is(newm.gc_steps_finalize - oldm.gc_steps_finalize, 0)
     oldm = newm
 
     -- Now let's run three GC cycles to ensure that increment
@@ -174,7 +175,7 @@ test:test("gc-steps", function(subtest)
     subtest:ok(newm.gc_steps_sweepstring - oldm.gc_steps_sweepstring >= 3)
     subtest:ok(newm.gc_steps_sweep  - oldm.gc_steps_sweep >= 3)
     -- Nothing to finalize, skipped.
-    subtest:is(newm.gc_steps_finalize, 0)
+    subtest:is(newm.gc_steps_finalize - oldm.gc_steps_finalize, 0)
 end)
 
 test:test("objcount", function(subtest)