Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve unit test code coverage #26

Open
aw-engineer opened this issue Jul 7, 2024 · 0 comments
Open

Improve unit test code coverage #26

aw-engineer opened this issue Jul 7, 2024 · 0 comments

Comments

@aw-engineer
Copy link
Contributor

At time of writing, code coverage is ~75% of loaded code, and could be improved

coverage of loaded files

File                               Hits Missed Coverage
-------------------------------------------------------
../ansicolors.lua                  41   0      100.00%
../examples/composite_exitconn.lua 13   0      100.00%
../examples/composite_nested.lua   28   0      100.00%
../examples/connector_simple.lua   8    0      100.00%
../examples/connector_split.lua    18   0      100.00%
../examples/simple_doo_idle.lua    10   0      100.00%
../rfsm.lua                        460  116    79.86%
../rfsm2tree.lua                   16   54     22.86%
../rfsm2uml.lua                    132  19     87.42%
../rfsm_testing.lua                56   13     81.16%
../rfsmpp.lua                      31   38     44.93%
../utils.lua                       105  121    46.46%
fsmtest_composite_nested.lua       31   5      86.11%
fsmtest_exitconn.lua               23   1      95.83%
fsmtest_simple_conn.lua            34   2      94.44%
fsmtest_simple_conn_with_split.lua 26   2      92.86%
fsmtest_simple_idle_doo.lua        33   0      100.00%
-------------------------------------------------------
Total                              1065 371    74.16%

files with no coverage

cat luacov.report.out | egrep 0.00 | egrep -v 100.00

../examples/await.lua                       0    21     0.00%
../examples/ball_tracker.lua                0    12     0.00%
../examples/ball_tracker_scope.lua          0    11     0.00%
../examples/connector_cycles.lua            0    5      0.00%
../examples/connector_cycles2.lua           0    10     0.00%
../examples/emem_test.lua                   0    27     0.00%
../examples/extension/base_fsm.lua          0    5      0.00%
../examples/extension/base_fsm_extended.lua 0    7      0.00%
../examples/hello_world.lua                 0    4      0.00%
../examples/introductory.lua                0    22     0.00%
../examples/monitor_state.lua               0    14     0.00%
../examples/nested_fsm/launch.lua           0    5      0.00%
../examples/nested_fsm/root.lua             0    3      0.00%
../examples/nested_fsm/subfsm.lua           0    6      0.00%
../examples/ping-pong.lua                   0    11     0.00%
../examples/preview_example.lua             0    15     0.00%
../examples/preview_example2.lua            0    21     0.00%
../examples/relative_trans.lua              0    7      0.00%
../examples/runscript.lua                   0    6      0.00%
../examples/seqand.lua                      0    19     0.00%
../examples/simple.lua                      0    4      0.00%
../examples/simple_idle_doo.lua             0    12     0.00%
../examples/timeevent.lua                   0    18     0.00%
../examples/total_failure.lua               0    5      0.00%
../rfsm2json.lua                            0    27     0.00%
../rfsm_await.lua                           0    44     0.00%
../rfsm_checkevents.lua                     0    17     0.00%
../rfsm_emem.lua                            0    25     0.00%
../rfsm_ext.lua                             0    77     0.00%
../rfsm_marsh.lua                           0    36     0.00%
../rfsm_preview.lua                         0    25     0.00%
../rfsm_proto.lua                           0    84     0.00%
../rfsm_rtt.lua                             0    117    0.00%
../rfsm_timeevent.lua                       0    51     0.00%
../tests/fsmdbg_simple.lua                  0    10     0.00%
../tests/fsmtest_composite_nested.lua       0    20     0.00%
../tests/fsmtest_exitconn.lua               0    14     0.00%
../tests/fsmtest_simple_conn.lua            0    20     0.00%
../tests/fsmtest_simple_conn_with_split.lua 0    17     0.00%
../tests/fsmtest_simple_idle_doo.lua        0    16     0.00%
../time.lua                                 0    51     0.00%
../tools/rfsm-sim.lua                       0    80     0.00%
fsmdbg_simple.lua                           0    10     0.00%

procedure

with luarocks, install luacov

rFSM$ luarocks --lua-version 5.2 install luacov --local
rFSM$ cd tests
rFSM/tests$ cat <<EOF > .luacov
includeuntestedfiles = { '.', '..' }
EOF

consider using the unit test wrapper script from #25

otherwise the syntax is similar to:

rFSM/tests$ eval "$(luarocks --lua-version 5.2 path --bin)"
rFSM/tests$ lua5.2 -lluacov <testname.lua>
rFSM/tests$ luacov
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant