Skip to content

Engine version compat 0.15#118

Open
S-S-X wants to merge 18 commits intomasterfrom
engine-version-compat-0.15
Open

Engine version compat 0.15#118
S-S-X wants to merge 18 commits intomasterfrom
engine-version-compat-0.15

Conversation

@S-S-X
Copy link
Owner

@S-S-X S-S-X commented Jun 21, 2025

What's included

Basic smoke tests

Engine version mineunit
Tested mod success failed error pending seconds
Mineunit self tests (mineunit) 240 0 0 1 0.937749
Mineunit demo spec (mineunit) 8 0 0 1 0.027467
advtrains/serialize_lib (mineunit) 5 0 0 0 0.013357
beerchat (mineunit) 213 0 0 0 0.597844
geoip (mineunit) 11 0 0 2 0.035685
machine_parts (mineunit) 5 0 0 0 0.028449
mesecons (mineunit) 20 0 0 0 1.051214
mesecons_mvps (mineunit) 19 0 0 3 0.217269
mesecons_fpga (mineunit) 28 0 0 0 1.335504
mesecons_luacontroller (mineunit) 12 0 0 0 0.295131
metatool (mineunit) 21 0 0 0 0.033361
containertool (mineunit) 10 0 0 0 0.024115
sharetool (mineunit) 15 0 0 0 0.025776
tubetool (mineunit) 33 0 0 0 0.025538
modular_computers (mineunit) 5 0 0 0 0.023904
spectator_mode (mineunit) 21 0 0 0 0.025663
qos (mineunit) 31 0 0 3 0.066014
Engine version 5.4.1
Tested mod success failed error pending seconds
Mineunit self tests (5.4.1) 240 0 0 1 0.952412
Mineunit demo spec (5.4.1) 8 0 0 1 0.027762
advtrains/serialize_lib (5.4.1) 5 0 0 0 0.013621
beerchat (5.4.1) 213 0 0 0 0.599928
geoip (5.4.1) 11 0 0 2 0.034699
machine_parts (5.4.1) 5 0 0 0 0.028678
mesecons (5.4.1) 20 0 0 0 1.055474
mesecons_mvps (5.4.1) 19 0 0 3 0.21771
mesecons_fpga (5.4.1) 28 0 0 0 1.328407
mesecons_luacontroller (5.4.1) 12 0 0 0 0.286374
metatool (5.4.1) 21 0 0 0 0.03273
containertool (5.4.1) 10 0 0 0 0.023948
sharetool (5.4.1) 15 0 0 0 0.025084
tubetool (5.4.1) 33 0 0 0 0.024725
modular_computers (5.4.1) 5 0 0 0 0.02295
spectator_mode (5.4.1) 21 0 0 0 0.025606
qos (5.4.1) 31 0 0 3 0.064727
technic/technic (5.4.1) 243 0 0 4 4.971671
technic/technic_cnc (5.4.1) 31 0 0 0 0.346433
technic/technic_chests (5.4.1) 5 0 0 0 0.022337
Engine version 5.5.1
Tested mod success failed error pending seconds
Mineunit self tests (5.5.1) 240 0 0 1 0.968286
Mineunit demo spec (5.5.1) 8 0 0 1 0.028944
advtrains/serialize_lib (5.5.1) 5 0 0 0 0.014336
beerchat (5.5.1) 213 0 0 0 0.614549
geoip (5.5.1) 11 0 0 2 0.038796
machine_parts (5.5.1) 5 0 0 0 0.033673
mesecons (5.5.1) 20 0 0 0 1.058777
mesecons_mvps (5.5.1) 19 0 0 3 0.228123
mesecons_fpga (5.5.1) 28 0 0 0 1.340673
mesecons_luacontroller (5.5.1) 12 0 0 0 0.297793
metatool (5.5.1) 21 0 0 0 0.035389
containertool (5.5.1) 10 0 0 0 0.023663
sharetool (5.5.1) 15 0 0 0 0.029325
tubetool (5.5.1) 33 0 0 0 0.02686
modular_computers (5.5.1) 5 0 0 0 0.027483
spectator_mode (5.5.1) 21 0 0 0 0.028083
qos (5.5.1) 31 0 0 3 0.071149
technic/technic (5.5.1) 238 5 0 4 5.230286
technic/technic_cnc (5.5.1) 31 0 0 0 0.359629
technic/technic_chests (5.5.1) 5 0 0 0 0.025426
Engine version 5.6.1
Tested mod success failed error pending seconds
Mineunit self tests (5.6.1) 240 0 0 1 0.967268
Mineunit demo spec (5.6.1) 8 0 0 1 0.031026
advtrains/serialize_lib (5.6.1) 5 0 0 0 0.014312
beerchat (5.6.1) 213 0 0 0 0.66485
geoip (5.6.1) 11 0 0 2 0.045181
machine_parts (5.6.1) 5 0 0 0 0.042175
mesecons (5.6.1) 20 0 0 0 1.077436
mesecons_mvps (5.6.1) 19 0 0 3 0.231959
mesecons_fpga (5.6.1) 28 0 0 0 1.361115
mesecons_luacontroller (5.6.1) 12 0 0 0 0.327877
metatool (5.6.1) 21 0 0 0 0.047551
containertool (5.6.1) 10 0 0 0 0.027431
sharetool (5.6.1) 15 0 0 0 0.031719
tubetool (5.6.1) 33 0 0 0 0.032472
modular_computers (5.6.1) 5 0 0 0 0.02866
spectator_mode (5.6.1) 21 0 0 0 0.029531
qos (5.6.1) 31 0 0 3 0.087808
technic/technic (5.6.1) 243 0 0 4 5.041934
technic/technic_cnc (5.6.1) 31 0 0 0 0.396085
technic/technic_chests (5.6.1) 5 0 0 0 0.026951
Engine version 5.7.0
Tested mod success failed error pending seconds
Mineunit self tests (5.7.0) 240 0 0 1 0.990996
Mineunit demo spec (5.7.0) 8 0 0 1 0.031256
advtrains/serialize_lib (5.7.0) 5 0 0 0 0.013007
beerchat (5.7.0) 213 0 0 0 0.666422
geoip (5.7.0) 11 0 0 2 0.046481
machine_parts (5.7.0) 5 0 0 0 0.044257
mesecons (5.7.0) 20 0 0 0 1.073755
mesecons_mvps (5.7.0) 19 0 0 3 0.233617
mesecons_fpga (5.7.0) 28 0 0 0 1.345645
mesecons_luacontroller (5.7.0) 12 0 0 0 0.32379
metatool (5.7.0) 21 0 0 0 0.048809
containertool (5.7.0) 10 0 0 0 0.02818
sharetool (5.7.0) 15 0 0 0 0.032394
tubetool (5.7.0) 33 0 0 0 0.032084
modular_computers (5.7.0) 5 0 0 0 0.028629
spectator_mode (5.7.0) 21 0 0 0 0.030141
qos (5.7.0) 31 0 0 3 0.088773
technic/technic (5.7.0) 243 0 0 4 5.110988
technic/technic_cnc (5.7.0) 31 0 0 0 0.384903
technic/technic_chests (5.7.0) 5 0 0 0 0.03042
Engine version 5.8.0
Tested mod success failed error pending seconds
Mineunit self tests (5.8.0) 240 0 0 1 0.981457
Mineunit demo spec (5.8.0) 8 0 0 1 0.03159
advtrains/serialize_lib (5.8.0) 5 0 0 0 0.01332
beerchat (5.8.0) 213 0 0 0 0.655738
geoip (5.8.0) 11 0 0 2 0.046667
machine_parts (5.8.0) 5 0 0 0 0.044216
mesecons (5.8.0) 20 0 0 0 1.074137
mesecons_mvps (5.8.0) 19 0 0 3 0.228595
mesecons_fpga (5.8.0) 28 0 0 0 1.322005
mesecons_luacontroller (5.8.0) 12 0 0 0 0.320694
metatool (5.8.0) 21 0 0 0 0.048638
containertool (5.8.0) 10 0 0 0 0.029238
sharetool (5.8.0) 15 0 0 0 0.030963
tubetool (5.8.0) 33 0 0 0 0.031348
modular_computers (5.8.0) 5 0 0 0 0.027861
spectator_mode (5.8.0) 21 0 0 0 0.030086
qos (5.8.0) 31 0 0 3 0.089292
technic/technic (5.8.0) 243 0 0 4 5.033283
technic/technic_cnc (5.8.0) 31 0 0 0 0.378369
technic/technic_chests (5.8.0) 5 0 0 0 0.026972
Engine version 5.9.1
Tested mod success failed error pending seconds
Mineunit self tests (5.9.1) 240 0 0 1 0.977885
Mineunit demo spec (5.9.1) 8 0 0 1 0.033097
advtrains/serialize_lib (5.9.1) 5 0 0 0 0.013456
beerchat (5.9.1) 213 0 0 0 0.667264
geoip (5.9.1) 11 0 0 2 0.046602
machine_parts (5.9.1) 5 0 0 0 0.047523
mesecons (5.9.1) 20 0 0 0 1.076552
mesecons_mvps (5.9.1) 19 0 0 3 0.231243
mesecons_fpga (5.9.1) 28 0 0 0 1.326898
mesecons_luacontroller (5.9.1) 12 0 0 0 0.32138
metatool (5.9.1) 21 0 0 0 0.047711
containertool (5.9.1) 10 0 0 0 0.029379
sharetool (5.9.1) 15 0 0 0 0.032391
tubetool (5.9.1) 33 0 0 0 0.031961
modular_computers (5.9.1) 5 0 0 0 0.028015
spectator_mode (5.9.1) 20 0 1 0 0.030017
qos (5.9.1) 31 0 0 3 0.090335
technic/technic (5.9.1) 243 0 0 4 4.999832
technic/technic_cnc (5.9.1) 31 0 0 0 0.381317
technic/technic_chests (5.9.1) 5 0 0 0 0.027015
Engine version 5.10.0
Tested mod success failed error pending seconds
Mineunit self tests (5.10.0) 240 0 0 1 0.99579
Mineunit demo spec (5.10.0) 8 0 0 1 0.034401
advtrains/serialize_lib (5.10.0) 5 0 0 0 0.014612
beerchat (5.10.0) 213 0 0 0 0.678854
geoip (5.10.0) 11 0 0 2 0.047067
machine_parts (5.10.0) 5 0 0 0 0.048696
mesecons (5.10.0) 20 0 0 0 1.073105
mesecons_mvps (5.10.0) 19 0 0 3 0.238385
mesecons_fpga (5.10.0) 28 0 0 0 1.35958
mesecons_luacontroller (5.10.0) 12 0 0 0 0.330561
metatool (5.10.0) 21 0 0 0 0.0496
containertool (5.10.0) 10 0 0 0 0.028866
sharetool (5.10.0) 15 0 0 0 0.032819
tubetool (5.10.0) 33 0 0 0 0.032828
modular_computers (5.10.0) 5 0 0 0 0.029199
spectator_mode (5.10.0) 20 0 1 0 0.031993
qos (5.10.0) 31 0 0 3 0.095578
technic/technic (5.10.0) 243 0 0 4 5.05465
technic/technic_cnc (5.10.0) 31 0 0 0 0.382581
technic/technic_chests (5.10.0) 5 0 0 0 0.026375
Engine version 5.11.0
Tested mod success failed error pending seconds
Mineunit self tests (5.11.0) 240 0 0 1 0.984401
Mineunit demo spec (5.11.0) 8 0 0 1 0.032661
advtrains/serialize_lib (5.11.0) 5 0 0 0 0.013695
beerchat (5.11.0) 213 0 0 0 0.668958
geoip (5.11.0) 11 0 0 2 0.046821
machine_parts (5.11.0) 5 0 0 0 0.047467
mesecons (5.11.0) 20 0 0 0 1.080528
mesecons_mvps (5.11.0) 19 0 0 3 0.236161
mesecons_fpga (5.11.0) 28 0 0 0 1.350497
mesecons_luacontroller (5.11.0) 12 0 0 0 0.326509
metatool (5.11.0) 21 0 0 0 0.04804
containertool (5.11.0) 10 0 0 0 0.030598
sharetool (5.11.0) 15 0 0 0 0.0332
tubetool (5.11.0) 33 0 0 0 0.032649
modular_computers (5.11.0) 5 0 0 0 0.02825
spectator_mode (5.11.0) 20 0 1 0 0.031346
qos (5.11.0) 31 0 0 3 0.094525
technic/technic (5.11.0) 243 0 0 4 5.043689
technic/technic_cnc (5.11.0) 31 0 0 0 0.378351
technic/technic_chests (5.11.0) 5 0 0 0 0.027034

@S-S-X
Copy link
Owner Author

S-S-X commented Jun 22, 2025

HUD manipulation for spectator_mode breaks with 5.9.1 and above.
These breakages are kind of expected because HUD control methods are mostly no-op.

Overall everything works a lot better with engine versions >= 5.4.1 and no changes from bare mineunit engine to 5.4.1

@S-S-X S-S-X added the in-latest-docker Included with latest docker images, might not yet be available elsewhere label Jun 22, 2025
@S-S-X S-S-X force-pushed the engine-version-compat-0.15 branch from fc3edf8 to b15eae7 Compare June 23, 2025 15:13
@github-actions
Copy link

Click for detailed source code test coverage report

Test coverage 51.99% in 33/39 files:

File                                      Hits Missed Coverage
--------------------------------------------------------------
game/constants.lua      12   0      100.00%
voxelmanip.lua          214  2      99.07%
settings.lua            374  17     95.65%
game/privileges.lua     64   3      95.52%
craftmanager.lua        119  13     90.15%
core.lua                84   13     86.60%
assert.lua              191  32     85.65%
formspec.lua            166  34     83.00%
auth.lua                39   10     79.59%
craft.lua               93   24     79.49%
itemstack.lua           121  34     78.06%
entity.lua              64   22     74.42%
player.lua              332  130    71.86%
metadata.lua            177  80     68.87%
config.lua              63   35     64.29%
game/features.lua       21   12     63.64%
globals.lua             93   56     62.42%
game/register.lua       209  158    56.95%
fs.lua                  5    4      55.56%
common/serialize.lua    55   44     55.56%
init.lua                118  97     54.88%
world.lua               83   85     49.40%
common/vector.lua       70   73     48.95%
server.lua              72   102    41.38%
game/auth.lua           38   68     35.85%
common/misc_helpers.lua 148  269    35.49%
game/misc.lua           42   87     32.56%
nodetimer.lua           12   25     32.43%
game/item.lua           142  331    30.02%
lib/json.lua            51   146    25.89%
common/chatcommands.lua 17   49     25.76%
game/chat.lua           150  593    20.19%
deprecation.lua         3    12     20.00%
scwd.lua                0    1      0.00%
protection.lua          0    12     0.00%
print.lua               0    66     0.00%
http.lua                0    60     0.00%
default/functions.lua   0    354    0.00%
common/after.lua        0    26     0.00%

Mineunit stdout:

++ Executing suite spec/assert_spec.lua
++ Executing suite spec/auth_spec.lua
++ Executing suite spec/core_spec.lua🢆 Running tests from core_spec.lua:39 ▷ Mineunit core deprecation prints error
E:	test deprecation message
🢆 Running tests from core_spec.lua:39 ▷ Mineunit core deprecation prints warning
W:	test deprecation message

++ Executing suite spec/craft_spec.lua
++ Executing suite spec/debug_spec.lua
W:	Tests skipped: Debug hooks not available.

++ Executing suite spec/formspec_spec.lua🢆 Running tests from formspec_spec.lua:109 ▷ Mineunit formspec Mineunit:Form provides fields table
E:	Form:fields() is experimental and UNSTABLE. Its behavior and interface WILL BE CHANGED.

++ Executing suite spec/itemstack_spec.lua◌
++ Executing suite spec/metadata_spec.lua
++ Executing suite spec/player_bare_spec.lua
++ Executing suite spec/player_spec.lua
++ Executing suite spec/voxelmanip_spec.lua
240 successes / 0 failures / 0 errors / 1 pending : 4.248947 seconds

Pending → spec/itemstack_spec.lua @ 20
ItemStack constructor fails ItemStack()
spec/itemstack_spec.lua:20: Waiting for strict mode implementation

S-S-X and others added 9 commits June 23, 2025 18:22
Fix esplit last part, better form arg handling, fix and rename FS to Element

Form allow type pattern: elementtype -> typepattern

Better parsers and transformers

Some optimization and utility methods

Deferred formspec parsing
Signed-off-by: SX <50966843+S-S-X@users.noreply.github.com>
Co-authored-by: SX <50966843+S-S-X@users.noreply.github.com>
Co-authored-by: SX <50966843+S-S-X@users.noreply.github.com>
@S-S-X S-S-X force-pushed the engine-version-compat-0.15 branch from b15eae7 to bd24105 Compare June 23, 2025 16:19
@github-actions
Copy link

Test coverage 51.99% in 33/39 files (higher is better).

Dynamic debug coverage 26.33% in 25/39 files (lower is better).

Click for detailed source code test coverage report
File                                      Hits Missed Coverage
--------------------------------------------------------------
game/constants.lua      12   0      100.00%
voxelmanip.lua          214  2      99.07%
settings.lua            374  17     95.65%
game/privileges.lua     64   3      95.52%
craftmanager.lua        119  13     90.15%
core.lua                84   13     86.60%
assert.lua              191  32     85.65%
formspec.lua            166  34     83.00%
auth.lua                39   10     79.59%
craft.lua               93   24     79.49%
itemstack.lua           121  34     78.06%
entity.lua              64   22     74.42%
player.lua              332  130    71.86%
metadata.lua            177  80     68.87%
config.lua              63   35     64.29%
game/features.lua       21   12     63.64%
globals.lua             93   56     62.42%
game/register.lua       209  158    56.95%
fs.lua                  5    4      55.56%
common/serialize.lua    55   44     55.56%
init.lua                118  97     54.88%
world.lua               83   85     49.40%
common/vector.lua       70   73     48.95%
server.lua              72   102    41.38%
game/auth.lua           38   68     35.85%
common/misc_helpers.lua 148  269    35.49%
game/misc.lua           42   87     32.56%
nodetimer.lua           12   25     32.43%
game/item.lua           142  331    30.02%
lib/json.lua            51   146    25.89%
common/chatcommands.lua 17   49     25.76%
game/chat.lua           150  593    20.19%
deprecation.lua         3    12     20.00%
scwd.lua                0    1      0.00%
protection.lua          0    12     0.00%
print.lua               0    66     0.00%
http.lua                0    60     0.00%
default/functions.lua   0    354    0.00%
common/after.lua        0    26     0.00%

Mineunit stdout:

++ Executing suite spec/assert_spec.lua
++ Executing suite spec/auth_spec.lua
++ Executing suite spec/core_spec.lua🢆 Running tests from core_spec.lua:39 ▷ Mineunit core deprecation prints error
E:	test deprecation message
🢆 Running tests from core_spec.lua:39 ▷ Mineunit core deprecation prints warning
W:	test deprecation message

++ Executing suite spec/craft_spec.lua
++ Executing suite spec/debug_spec.lua
W:	Tests skipped: Debug hooks not available.

++ Executing suite spec/formspec_spec.lua🢆 Running tests from formspec_spec.lua:109 ▷ Mineunit formspec Mineunit:Form provides fields table
E:	Form:fields() is experimental and UNSTABLE. Its behavior and interface WILL BE CHANGED.

++ Executing suite spec/itemstack_spec.lua◌
++ Executing suite spec/metadata_spec.lua
++ Executing suite spec/player_bare_spec.lua
++ Executing suite spec/player_spec.lua
++ Executing suite spec/voxelmanip_spec.lua
240 successes / 0 failures / 0 errors / 1 pending : 4.335263 seconds

Pending → spec/itemstack_spec.lua @ 20
ItemStack constructor fails ItemStack()
spec/itemstack_spec.lua:20: Waiting for strict mode implementation

S-S-X added 3 commits June 24, 2025 17:54
Use luassert formatter if dump is not available

Add bytes to hex %X formatter

Rework new formatters: %X to %x, %D to %@ with optional level 0-9

Expose formatter through mineunit.format function
noop: core.*objects_in*

Move core.get_us_time
@S-S-X S-S-X force-pushed the engine-version-compat-0.15 branch from bd24105 to 2f6721f Compare June 24, 2025 15:12
S-S-X added 6 commits June 24, 2025 18:16
Workflow update

Luacheck exclude dot dirs

Luacheck add mineunit.format
Form testing / dynamic debug documentation

Documentation for custom formatters
Moved debughooks fallback to assert.lua

Dynamic hooks disabled by default
Rework stack pop/push

Fix utils.noop for debughooks

Update command line args
@S-S-X S-S-X force-pushed the engine-version-compat-0.15 branch from 2f6721f to cdc01f5 Compare June 24, 2025 15:17
@github-actions
Copy link

Test coverage 51.95% in 33/39 files (higher is better).

Dynamic debug coverage 26.31% in 25/39 files (lower is better).

Click for detailed source code test coverage report
File                                      Hits Missed Coverage
--------------------------------------------------------------
game/constants.lua      12   0      100.00%
voxelmanip.lua          214  2      99.07%
settings.lua            374  17     95.65%
game/privileges.lua     64   3      95.52%
craftmanager.lua        119  13     90.15%
core.lua                84   13     86.60%
assert.lua              191  32     85.65%
formspec.lua            166  34     83.00%
auth.lua                39   10     79.59%
craft.lua               93   24     79.49%
itemstack.lua           121  34     78.06%
entity.lua              64   22     74.42%
player.lua              332  130    71.86%
metadata.lua            177  80     68.87%
config.lua              63   35     64.29%
game/features.lua       21   12     63.64%
globals.lua             93   56     62.42%
game/register.lua       209  158    56.95%
fs.lua                  5    4      55.56%
common/serialize.lua    55   44     55.56%
init.lua                118  97     54.88%
world.lua               83   85     49.40%
common/vector.lua       70   73     48.95%
server.lua              72   102    41.38%
game/auth.lua           38   68     35.85%
common/misc_helpers.lua 148  269    35.49%
game/misc.lua           42   87     32.56%
nodetimer.lua           12   25     32.43%
game/item.lua           142  331    30.02%
lib/json.lua            51   146    25.89%
common/chatcommands.lua 17   49     25.76%
game/chat.lua           150  593    20.19%
deprecation.lua         3    12     20.00%
scwd.lua                0    1      0.00%
protection.lua          0    12     0.00%
print.lua               0    70     0.00%
http.lua                0    60     0.00%
default/functions.lua   0    354    0.00%
common/after.lua        0    26     0.00%

Mineunit stdout:

++ Executing suite spec/assert_spec.lua
++ Executing suite spec/auth_spec.lua
++ Executing suite spec/core_spec.lua🢆 Running tests from core_spec.lua:39 ▷ Mineunit core deprecation prints error
E:	test deprecation message
🢆 Running tests from core_spec.lua:39 ▷ Mineunit core deprecation prints warning
W:	test deprecation message

++ Executing suite spec/craft_spec.lua
++ Executing suite spec/debug_spec.lua
W:	Tests skipped: Debug hooks not available.

++ Executing suite spec/formspec_spec.lua🢆 Running tests from formspec_spec.lua:109 ▷ Mineunit formspec Mineunit:Form provides fields table
E:	Form:fields() is experimental and UNSTABLE. Its behavior and interface WILL BE CHANGED.

++ Executing suite spec/itemstack_spec.lua◌
++ Executing suite spec/metadata_spec.lua
++ Executing suite spec/player_bare_spec.lua
++ Executing suite spec/player_spec.lua
++ Executing suite spec/voxelmanip_spec.lua
240 successes / 0 failures / 0 errors / 1 pending : 4.212046 seconds

Pending → spec/itemstack_spec.lua @ 20
ItemStack constructor fails ItemStack()
spec/itemstack_spec.lua:20: Waiting for strict mode implementation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

in-latest-docker Included with latest docker images, might not yet be available elsewhere

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add formspec interactions for Player Ability to select Minetest API version

2 participants