Skip to content

Improve test coverage from 91% to 100% #141

Open
@KevinHock

Description

@KevinHock

Test coverage is always important, and my goal is to eventually be at 100%. I'll be sure to do this for PRs from now on, or at least try to, but there is some existing code that is not yet covered.

The good thing is that all files have existing tests, tests for __main__.py for example can be found in the main_test.py file.

By running make test you can see where we aren't yet at 100%:

py36 runtests: commands[3] | coverage report --include=pyt/* --fail-under 91
Name                                                Stmts   Miss  Cover   Missing
---------------------------------------------------------------------------------
pyt/__init__.py                                         0      0   100%
pyt/__main__.py                                        68     13    81%   45, 55-57, 70-71, 83, 86, 105-108, 129
pyt/analysis/constraint_table.py                        9      0   100%
pyt/analysis/definition_chains.py                      16      0   100%
pyt/analysis/fixed_point.py                            21      0   100%
pyt/analysis/lattice.py                                31      0   100%
pyt/analysis/reaching_definitions_taint.py             27      0   100%
pyt/cfg/__init__.py                                     2      0   100%
pyt/cfg/alias_helper.py                                33      0   100%
pyt/cfg/expr_visitor.py                               212     20    91%   70, 99-100, 111-122, 131, 136, 141, 149, 154, 407, 560
pyt/cfg/expr_visitor_helper.py                          9      0   100%
pyt/cfg/make_cfg.py                                     9      0   100%
pyt/cfg/stmt_visitor.py                               456     46    90%   111, 168, 174, 217, 235, 247-248, 277-278, 297-298, 386-399, 658-661, 668-671, 678, 684, 702-704, 780, 816-823, 868, 893, 919-920, 951, 972, 988, 1010
pyt/cfg/stmt_visitor_helper.py                         72      6    92%   83, 95-96, 133-136
pyt/core/ast_helper.py                                 53      4    92%   56, 101, 103, 105
pyt/core/module_definitions.py                         47      4    91%   32, 108-110
pyt/core/node_types.py                                 70      4    94%   51, 142-145
pyt/core/project_handler.py                            30      1    97%   23
pyt/formatters/__init__.py                              0      0   100%
pyt/helper_visitors/__init__.py                         4      0   100%
pyt/helper_visitors/label_visitor.py                  206     40    81%   31-37, 93-98, 179-184, 186-188, 200, 203, 212, 215, 218, 221, 224, 227, 230, 246, 249, 252, 255, 261, 265, 271, 274, 278, 281
pyt/helper_visitors/right_hand_side_visitor.py         13      0   100%
pyt/helper_visitors/vars_visitor.py                   104      4    96%   66-68, 102
pyt/usage.py                                           39      1    97%   124
pyt/vulnerabilities/__init__.py                         3      0   100%
pyt/vulnerabilities/trigger_definitions_parser.py      30      0   100%
pyt/vulnerabilities/vulnerabilities.py                160     15    91%   233-235, 237, 241-243, 310, 312-321, 424, 427
pyt/vulnerabilities/vulnerability_helper.py            76     19    75%   84, 116-119, 132-134, 178-182, 204-209
pyt/web_frameworks/__init__.py                          3      0   100%
pyt/web_frameworks/framework_adaptor.py                41      0   100%
pyt/web_frameworks/framework_helper.py                 23      0   100%
---------------------------------------------------------------------------------
TOTAL                                                1867    177    91%

If you would like help with writing tests for any of these files let me know.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions