diff --git a/build.spec.lua b/build.spec.lua index 01d23bf..48bc8b5 100644 --- a/build.spec.lua +++ b/build.spec.lua @@ -14,6 +14,9 @@ building_lib.register_building("building_lib:dummy_v2", { }) mtt.register("build", function(callback) + -- clear store + building_lib.store:clear() + local mapblock_pos = {x=0, y=0, z=0} local building_name = "building_lib:dummy" local rotation = 0 @@ -75,5 +78,33 @@ mtt.register("build", function(callback) info = building_lib.get_placed_building_info(mapblock_pos) assert(info == nil) + callback() +end) + +mtt.benchmark("build", function(callback, iterations) + -- clear store + building_lib.store:clear() + + local mapblock_pos = {x=0, y=0, z=0} + local building_name = "building_lib:dummy" + local rotation = 0 + local playername = "singleplayer" + + for _=1,iterations do + -- build + local callback_called = false + local success, err = building_lib.build(mapblock_pos, playername, building_name, rotation, + function() callback_called = true end + ) + assert(not err) + assert(success) + assert(callback_called) + + -- remove + success, err = building_lib.remove(mapblock_pos) + assert(not err) + assert(success) + end + callback() end) \ No newline at end of file diff --git a/test/minetest.conf b/test/minetest.conf index 71f0387..f658b43 100644 --- a/test/minetest.conf +++ b/test/minetest.conf @@ -1,5 +1,6 @@ default_game = minetest_game mg_name = v7 mtt_enable = true +mtt_enable_benchmarks = true mtt_filter = building_lib building_lib.enable_example_buildings = true \ No newline at end of file