chore(base.lua): refactor test result printing and cleanup
Refactor the code to extract the test result printing logic into a separate function, `print_result_line`, to improve readability and reduce code duplication. This change aims to enhance maintainability by consolidating similar print statements and ensuring consistent display of test results across the script.
This commit is contained in:
parent
0fafeb9f52
commit
ad261f3e41
49
base.lua
49
base.lua
@ -425,15 +425,7 @@ local all_in_table = function(names, names_list)
|
||||
return true
|
||||
end
|
||||
|
||||
local display_tests_summary = function()
|
||||
for mod, tests_list in pairs(tests_by_mod) do
|
||||
pprint.baby_blue(string.format("%#80s\n", mod))
|
||||
for _, test in ipairs(tests_list) do
|
||||
if test.func == nil then
|
||||
local s = ":".. test.mod ..":---- " .. test.name
|
||||
pprint.light_gray(":".. test.mod ..":").blue("---- " .. test.name)
|
||||
pprint.blue(string.rep("-", 80 - #s).."\n")
|
||||
elseif test.result ~= nil then
|
||||
local print_result_line = function(test)
|
||||
local s = ":"..test.mod..":"
|
||||
local rest = s .. test.name
|
||||
pprint.light_gray(s)
|
||||
@ -445,6 +437,18 @@ local display_tests_summary = function()
|
||||
if not test.result.ok and test.result.err then
|
||||
pprint.yellow(" " .. test.result.err .. "\n")
|
||||
end
|
||||
end
|
||||
|
||||
local display_tests_summary = function()
|
||||
for mod, tests_list in pairs(tests_by_mod) do
|
||||
pprint.baby_blue(string.format("%#80s\n", mod))
|
||||
for _, test in ipairs(tests_list) do
|
||||
if test.func == nil then
|
||||
local s = ":".. test.mod ..":---- " .. test.name
|
||||
pprint.light_gray(":".. test.mod ..":").blue("---- " .. test.name)
|
||||
pprint.blue(string.rep("-", 80 - #s).."\n")
|
||||
elseif test.result ~= nil then
|
||||
print_result_line(test)
|
||||
else
|
||||
local s = ":"..test.mod..":"
|
||||
local rest = s .. test.name
|
||||
@ -504,12 +508,6 @@ test_harness.restore_players = function(players_data)
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
local set_tests_done = function()
|
||||
|
||||
end
|
||||
|
||||
local get_connected_player_names = function()
|
||||
local connected_player_names = {}
|
||||
for _, p in ipairs(minetest.get_connected_players()) do
|
||||
@ -520,8 +518,8 @@ end
|
||||
|
||||
test_harness.run_player_tests = function(list_player_tests, area)
|
||||
|
||||
local connected_player_names = get_connected_player_names()
|
||||
for _, test in ipairs(list_player_tests) do
|
||||
local connected_player_names = get_connected_player_names()
|
||||
if not test.result and
|
||||
test.func and
|
||||
test.players and
|
||||
@ -532,10 +530,9 @@ test_harness.run_player_tests = function(list_player_tests, area)
|
||||
area.clear()
|
||||
local ok, err = pcall(test.func)
|
||||
test.result = { ok = ok, err = err }
|
||||
print(string.format(":%s:%-60s %s", test.mod, test.name, ok and "pass" or "FAIL"))
|
||||
print_result_line(test)
|
||||
test_harness.restore_players(player_data)
|
||||
if not ok then
|
||||
print(" " .. err)
|
||||
failed = failed + 1
|
||||
if minetest.settings:get_bool("test_harness_failfast", false) then
|
||||
tests_state = TESTS_STATE_ENUM.DONE
|
||||
@ -633,9 +630,8 @@ local run_tests = function()
|
||||
area.clear()
|
||||
local ok, err = pcall(test.func)
|
||||
test.result = { ok = ok, err = err }
|
||||
print(string.format(":%s:%-60s %s", test.mod, test.name, ok and "pass" or "FAIL"))
|
||||
print_result_line(test)
|
||||
if not ok then
|
||||
print(" " .. err)
|
||||
failed = failed + 1
|
||||
if minetest.settings:get_bool("test_harness_failfast", false) then
|
||||
tests_state = TESTS_STATE_ENUM.DONE
|
||||
@ -647,9 +643,16 @@ local run_tests = function()
|
||||
|
||||
print("Server tests done, " .. failed .. " tests failed.")
|
||||
|
||||
if next(players_tests) == nil or tests_state == TESTS_STATE_ENUM.DONE then
|
||||
set_tests_done()
|
||||
return
|
||||
if next(players_tests) == nil then
|
||||
tests_state = TESTS_STATE_ENUM.DONE
|
||||
end
|
||||
if tests_state == TESTS_STATE_ENUM.DONE then
|
||||
print("All tests done, " .. failed .. " tests failed.")
|
||||
display_tests_summary()
|
||||
|
||||
if minetest.settings:get_bool("test_harness_stop_server", true) then
|
||||
request_shutdown()
|
||||
end
|
||||
end
|
||||
|
||||
-- list of needed players
|
||||
|
Loading…
x
Reference in New Issue
Block a user