Skip to content

Improve unit test code coverage #26

@aw-engineer

Description

@aw-engineer

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions