mt-mods / technic

Technic mod for Minetest
18 stars 25 forks source link

Reduce solar arrays for tests #274

Closed S-S-X closed 1 year ago

S-S-X commented 2 years ago

Implementing #249 reduces solar arrays and moves test networks to y 50.

Makes test execution about 20% faster (tested with code coverage collection, ran both 5x with almost same results between runs). Comparing here with last merged PR and this one: 11.70723 seconds vs 9.231875 seconds

Maybe also update other test related stuff here so draft for now...

S-S-X commented 1 year ago

A lot more stuff in logs, not sure if it's good or bad. Useful in some cases, not that much here because Technic wont be producing that much direct output.

Only few things like now it makes it very clear where exactly for example these messages are coming:

Deprecated technic.register_power_tool use. Setting max_charge for oldlegacy:powertool
Use of deprecated function technic.set_RE_wear with stack: oldminimal:powertool

I guess should keep that but make it configurable. Possibly to show only failures or maybe full log when mod/tests produces other output for running test but when mod/tests stay quiet then also keep log quiet.

github-actions[bot] commented 1 year ago
Mineunit failed regression tests, click for details ### Regression test log for Technic CNC: ``` ``` ### Regression test log for Technic Chests: ``` ``` ### Regression test log for Technic: ``` ++ Executing suite spec/api_spec.lua E: Loading common/fs from 5.4.1 failed, trying to use builtin ◌◌◌ ++ Executing suite spec/building_spec.lua E: Loading common/fs from 5.4.1 failed, trying to use builtin ++ Executing suite spec/hv_network_spec.lua E: Loading common/fs from 5.4.1 failed, trying to use builtin ✱ ++ Executing suite spec/lv_network_spec.lua E: Loading common/fs from 5.4.1 failed, trying to use builtin ++ Executing suite spec/network_spec.lua E: Loading common/fs from 5.4.1 failed, trying to use builtin ++ Executing suite spec/nodes_spec.lua E: Loading common/fs from 5.4.1 failed, trying to use builtin ++ Executing suite spec/supply_converter_spec.lua E: Loading common/fs from 5.4.1 failed, trying to use builtin ◌ ++ Executing suite spec/tools_compatibility_spec.lua E: Loading common/fs from 5.4.1 failed, trying to use builtin ⭆ Starting test set tools_compatibility_spec.lua:11 ⯈ Technic power tool compatibility W: Deprecated technic.register_power_tool use. Setting max_charge for oldlegacy:powertool W: Deprecated technic.register_power_tool use. Setting max_charge for oldminimal:powertool W: Deprecated technic.register_power_tool use. Setting max_charge for oldhalfway:powertool W: Deprecated technic.register_power_tool use. Ensuring fields for oldlegacy:powertool W: Using metadata charge values for oldlegacy:powertool W: Updated legacy Technic power tool definition for oldlegacy:powertool W: Deprecated technic.register_power_tool use. Ensuring fields for oldminimal:powertool W: Using metadata charge values for oldminimal:powertool W: Updated legacy Technic power tool definition for oldminimal:powertool W: Deprecated technic.register_power_tool use. Ensuring fields for oldhalfway:powertool W: Mod oldhalfway seems to be aware of technic.plus but oldhalfway:powertool is still using deprecated registration, skipping meta charge compatibility. W: Updated legacy Technic power tool definition for oldhalfway:powertool 🢆 Running tests from tools_compatibility_spec.lua:92 ▷ Technic power tool compatibility oldlegacy:powertool can be used (minimum charge) W: Use of deprecated function technic.set_RE_wear with stack: oldlegacy:powertool 🢆 Running tests from tools_compatibility_spec.lua:106 ▷ Technic power tool compatibility oldlegacy:powertool can be used (minimum charge + 1) W: Use of deprecated function technic.set_RE_wear with stack: oldlegacy:powertool 🢆 Running tests from tools_compatibility_spec.lua:92 ▷ Technic power tool compatibility oldminimal:powertool can be used (minimum charge) W: Use of deprecated function technic.set_RE_wear with stack: oldminimal:powertool 🢆 Running tests from tools_compatibility_spec.lua:106 ▷ Technic power tool compatibility oldminimal:powertool can be used (minimum charge + 1) W: Use of deprecated function technic.set_RE_wear with stack: oldminimal:powertool ++ Executing suite spec/tools_spec.lua E: Loading common/fs from 5.4.1 failed, trying to use builtin 218 successes / 0 failures / 1 error / 4 pending : 64.221078 seconds Pending → spec/api_spec.lua @ 133 Technic API Machine registration registers my_mod:my_battery spec/api_spec.lua:133: Battery box registration does not include all fields Pending → spec/api_spec.lua @ 190 Technic API Machine registration registers my_mod:machine_base spec/api_spec.lua:190: Base machine registration does not include all fields Pending → spec/api_spec.lua @ 285 Technic API internals technic.cables TBD, misleading name and should be updated spec/api_spec.lua:285: TBD technic.cables naming and need, see technic networks data for possible options Pending → spec/supply_converter_spec.lua @ 78 Supply converter building overloads network spec/supply_converter_spec.lua:78: overload does not work with supply converter Error → spec/hv_network_spec.lua @ 13 HV machine network WILL FAIL BECAUSE IT SHOULD spec/hv_network_spec.lua:13: What is happening!?!??!? ```
S-S-X commented 1 year ago

I guess should keep that but make it configurable. Possibly to show only failures or maybe full log when mod/tests produces other output for running test but when mod/tests stay quiet then also keep log quiet.

Is configurable now (with -v and -q flags). Also default logging is way better, not much useless output but still everything needed to actually see where mod logging / output gets triggered. Also spec file headers when switching (to see where possible warnings / logging for spec actually comes from).

github-actions[bot] commented 1 year ago
Click for detailed source code test coverage report ### Test coverage report for Technic CNC 87.36% in 11/14 files: ``` File Hits Missed Coverage ----------------------------------------------------- programs.lua 263 0 100.00% materials/technic_worldgen.lua 32 0 100.00% materials/init.lua 14 0 100.00% materials/default.lua 183 0 100.00% materials/basic_materials.lua 17 0 100.00% init.lua 16 0 100.00% digilines.lua 55 0 100.00% cnc.lua 53 0 100.00% formspec.lua 104 7 93.69% api.lua 219 43 83.59% pipeworks.lua 25 13 65.79% materials/moreblocks.lua 0 29 0.00% materials/ethereal.lua 0 37 0.00% materials/bakedclay.lua 0 13 0.00% ``` ### Test coverage report for technic chests 45.49% in 6/6 files: ``` File Hits Missed Coverage ---------------------------------- chests.lua 102 18 85.00% init.lua 34 18 65.38% register.lua 84 78 51.85% formspec.lua 76 94 44.71% inventory.lua 10 100 9.09% digilines.lua 2 61 3.17% ``` ### Test coverage report for technic 66.04% in 96/96 files: ``` File Hits Missed Coverage -------------------------------------------------------------- max_lag.lua 12 0 100.00% machines/register/init.lua 15 0 100.00% machines/register/freezer_recipes.lua 15 0 100.00% machines/other/init.lua 6 0 100.00% machines/MV/solar_array.lua 12 0 100.00% machines/MV/init.lua 17 0 100.00% machines/MV/grinder.lua 17 0 100.00% machines/MV/generator.lua 9 0 100.00% machines/MV/freezer.lua 17 0 100.00% machines/MV/extractor.lua 17 0 100.00% machines/MV/electric_furnace.lua 17 0 100.00% machines/MV/compressor.lua 17 0 100.00% machines/MV/centrifuge.lua 17 0 100.00% machines/MV/cables.lua 40 0 100.00% machines/MV/battery_box.lua 17 0 100.00% machines/MV/alloy_furnace.lua 19 0 100.00% machines/LV/solar_array.lua 11 0 100.00% machines/LV/init.lua 17 0 100.00% machines/LV/grinder.lua 16 0 100.00% machines/LV/generator.lua 9 0 100.00% machines/LV/electric_furnace.lua 15 0 100.00% machines/LV/compressor.lua 20 0 100.00% machines/LV/cables.lua 40 0 100.00% machines/LV/battery_box.lua 15 0 100.00% machines/LV/alloy_furnace.lua 17 0 100.00% machines/HV/solar_array.lua 11 0 100.00% machines/HV/init.lua 12 0 100.00% machines/HV/grinder.lua 17 0 100.00% machines/HV/generator.lua 9 0 100.00% machines/HV/electric_furnace.lua 17 0 100.00% machines/HV/compressor.lua 17 0 100.00% machines/HV/cables.lua 39 0 100.00% machines/HV/battery_box.lua 17 0 100.00% legacy.lua 33 0 100.00% crafts.lua 133 0 100.00% machines/LV/led.lua 73 1 98.65% items.lua 107 2 98.17% config.lua 49 1 98.00% machines/register/compressor_recipes.lua 38 1 97.44% machines/LV/geothermal.lua 75 3 96.15% machines/register/solar_array.lua 46 2 95.83% init.lua 22 1 95.65% machines/LV/solar_panel.lua 42 2 95.45% machines/network.lua 403 21 95.05% tools/init.lua 13 1 92.86% machines/register/alloy_recipes.lua 39 3 92.86% machines/register/cables.lua 97 8 92.38% machines/LV/water_mill.lua 67 6 91.78% machines/compat/tools.lua 58 6 90.62% machines/register/grindings.lua 42 5 89.36% machines/LV/lamp.lua 124 17 87.94% register.lua 28 4 87.50% machines/register/grinder_recipes.lua 108 16 87.10% machines/register/recipes.lua 68 12 85.00% machines/register/battery_box.lua 239 43 84.75% tools/flashlight.lua 64 13 83.12% util/throttle.lua 9 2 81.82% machines/init.lua 38 9 80.85% machines/register/machine_base.lua 166 41 80.19% machines/LV/extractor.lua 18 5 78.26% radiation.lua 271 80 77.21% machines/register/centrifuge_recipes.lua 22 7 75.86% machines/power_monitor.lua 59 19 75.64% machines/switching_station.lua 80 32 71.43% effects.lua 5 2 71.43% machines/overload.lua 12 5 70.59% machines/MV/wind_mill.lua 46 22 67.65% machines/supply_converter.lua 95 46 67.38% machines/other/coal_furnace.lua 2 1 66.67% machines/other/injector.lua 72 39 64.86% machines/switching_station_globalstep.lua 28 16 63.64% tools/multimeter.lua 130 78 62.50% machines/MV/hydro_turbine.lua 43 26 62.32% machines/other/coal_alloy_furnace.lua 80 49 62.02% machines/MV/tool_workshop.lua 56 35 61.54% machines/register/generator.lua 122 88 58.10% tools/cans.lua 53 48 52.48% tools/mining_lasers.lua 36 35 50.70% machines/other/constructor.lua 67 69 49.26% machines/LV/music_player.lua 44 47 48.35% tools/tree_tap.lua 24 27 47.06% tools/vacuum.lua 16 20 44.44% machines/register/common.lua 50 64 43.86% machines/HV/forcefield.lua 103 158 39.46% machines/HV/quarry.lua 144 242 37.31% machines/HV/nuclear_reactor.lua 119 206 36.62% helpers.lua 55 98 35.95% tools/sonic_screwdriver.lua 16 33 32.65% machines/compat/api.lua 16 34 32.00% tools/chainsaw.lua 37 80 31.62% chatcommands.lua 19 45 29.69% tools/mining_drill.lua 65 195 25.00% machines/other/anchor.lua 14 74 15.91% tools/prospector.lua 14 100 12.28% machines/register/extractor_recipes.lua 8 77 9.41% machines/compat/digtron.lua 4 41 8.89% ``` ### Raw test runner output for geeks: CNC: ``` ++ Executing suite spec/api_spec.lua ++ Executing suite spec/digilines_spec.lua ++ Executing suite spec/interaction_spec.lua ++ Executing suite spec/technic_cnc_spec.lua 31 successes / 0 failures / 0 errors / 0 pending : 4.655949 seconds ``` Chests: ``` ++ Executing suite spec/api_spec.lua W: Configuration: invalid key exclude_textures 5 successes / 0 failures / 0 errors / 0 pending : 0.245302 seconds ``` Technic: ``` ++ Executing suite spec/api_spec.lua E: Loading common/fs from 5.4.1 failed, trying to use builtin ◌◌◌ ++ Executing suite spec/building_spec.lua E: Loading common/fs from 5.4.1 failed, trying to use builtin ++ Executing suite spec/hv_network_spec.lua E: Loading common/fs from 5.4.1 failed, trying to use builtin ++ Executing suite spec/lv_network_spec.lua E: Loading common/fs from 5.4.1 failed, trying to use builtin ++ Executing suite spec/network_spec.lua E: Loading common/fs from 5.4.1 failed, trying to use builtin ++ Executing suite spec/nodes_spec.lua E: Loading common/fs from 5.4.1 failed, trying to use builtin ++ Executing suite spec/supply_converter_spec.lua E: Loading common/fs from 5.4.1 failed, trying to use builtin ◌ ++ Executing suite spec/tools_compatibility_spec.lua E: Loading common/fs from 5.4.1 failed, trying to use builtin ⭆ Starting test set tools_compatibility_spec.lua:11 ⯈ Technic power tool compatibility W: Deprecated technic.register_power_tool use. Setting max_charge for oldlegacy:powertool W: Deprecated technic.register_power_tool use. Setting max_charge for oldminimal:powertool W: Deprecated technic.register_power_tool use. Setting max_charge for oldhalfway:powertool W: Deprecated technic.register_power_tool use. Ensuring fields for oldlegacy:powertool W: Using metadata charge values for oldlegacy:powertool W: Updated legacy Technic power tool definition for oldlegacy:powertool W: Deprecated technic.register_power_tool use. Ensuring fields for oldminimal:powertool W: Using metadata charge values for oldminimal:powertool W: Updated legacy Technic power tool definition for oldminimal:powertool W: Deprecated technic.register_power_tool use. Ensuring fields for oldhalfway:powertool W: Mod oldhalfway seems to be aware of technic.plus but oldhalfway:powertool is still using deprecated registration, skipping meta charge compatibility. W: Updated legacy Technic power tool definition for oldhalfway:powertool 🢆 Running tests from tools_compatibility_spec.lua:92 ▷ Technic power tool compatibility oldlegacy:powertool can be used (minimum charge) W: Use of deprecated function technic.set_RE_wear with stack: oldlegacy:powertool 🢆 Running tests from tools_compatibility_spec.lua:106 ▷ Technic power tool compatibility oldlegacy:powertool can be used (minimum charge + 1) W: Use of deprecated function technic.set_RE_wear with stack: oldlegacy:powertool 🢆 Running tests from tools_compatibility_spec.lua:92 ▷ Technic power tool compatibility oldminimal:powertool can be used (minimum charge) W: Use of deprecated function technic.set_RE_wear with stack: oldminimal:powertool 🢆 Running tests from tools_compatibility_spec.lua:106 ▷ Technic power tool compatibility oldminimal:powertool can be used (minimum charge + 1) W: Use of deprecated function technic.set_RE_wear with stack: oldminimal:powertool ++ Executing suite spec/tools_spec.lua E: Loading common/fs from 5.4.1 failed, trying to use builtin 218 successes / 0 failures / 0 errors / 4 pending : 79.954867 seconds Pending → spec/api_spec.lua @ 133 Technic API Machine registration registers my_mod:my_battery spec/api_spec.lua:133: Battery box registration does not include all fields Pending → spec/api_spec.lua @ 190 Technic API Machine registration registers my_mod:machine_base spec/api_spec.lua:190: Base machine registration does not include all fields Pending → spec/api_spec.lua @ 285 Technic API internals technic.cables TBD, misleading name and should be updated spec/api_spec.lua:285: TBD technic.cables naming and need, see technic networks data for possible options Pending → spec/supply_converter_spec.lua @ 78 Supply converter building overloads network spec/supply_converter_spec.lua:78: overload does not work with supply converter ```
S-S-X commented 1 year ago

Will also fix mineunit workflow for #320