Skip to content

Improve test coverage #514

Description

@erlend-aasland

I'd like to raise the test suite cover more of the code base, as a part of the preparations for #358.

Currently, coverage.py reports 73% code coverage when run locally:

Name                                    Stmts   Miss  Cover
-----------------------------------------------------------
canopen/__init__.py                        12      2    83%
canopen/_version.py                        11      2    82%
canopen/emcy.py                            71     19    73%
canopen/lss.py                            181    106    41%
canopen/network.py                        165     21    87%
canopen/nmt.py                            133      2    98%
canopen/node/__init__.py                    2      0   100%
canopen/node/base.py                        9      0   100%
canopen/node/local.py                      81     10    88%
canopen/node/remote.py                     81     37    54%
canopen/objectdictionary/__init__.py      306     37    88%
canopen/objectdictionary/datatypes.py      82      8    90%
canopen/objectdictionary/eds.py           349     38    89%
canopen/objectdictionary/epf.py            81     81     0%
canopen/pdo/__init__.py                    36      8    78%
canopen/pdo/base.py                       374    108    71%
canopen/profiles/__init__.py                0      0   100%
canopen/profiles/p402.py                  277    176    36%
canopen/sdo/__init__.py                     5      0   100%
canopen/sdo/base.py                        93     20    78%
canopen/sdo/client.py                     461     92    80%
canopen/sdo/constants.py                   27      0   100%
canopen/sdo/exceptions.py                  14      5    64%
canopen/sdo/server.py                     127      9    93%
canopen/sync.py                            19      7    63%
canopen/timestamp.py                       15      0   100%
canopen/utils.py                           13      1    92%
canopen/variable.py                        98     42    57%
-----------------------------------------------------------
TOTAL                                    3123    831    73%

73% is very promising; getting up to 80% is the next milestone.

In #504, I raised the coverage of canopen/nmt.py to 98%. I'm going to continue with canopen/network.py (anticipate PR in a day or two). Feel free to join!

I'll update this list as progress is made:

  • canopen/emcy.py: WIP
  • canopen/lss.py
  • canopen/network.py:
    - Tests: improve coverage of Network #515
    - Tests: improve coverage of NodeScanner #517
  • canopen/nmt.py: Add tests for NMT base and NMT master #504
  • canopen/node/base.py
  • canopen/node/local.py
  • canopen/node/remote.py
  • canopen/objectdictionary/__init__.py
  • canopen/objectdictionary/datatypes.py
  • canopen/objectdictionary/eds.py
  • canopen/objectdictionary/epf.py
  • canopen/pdo/__init__.py
  • canopen/pdo/base.py
  • canopen/profiles/p402.py
  • canopen/sdo/base.py
  • canopen/sdo/client.py
  • canopen/sdo/constants.py
  • canopen/sdo/exceptions.py
  • canopen/sdo/server.py
  • canopen/sync.py: WIP
  • canopen/timestamp.py
  • canopen/utils.py
  • canopen/variable.py

Activity

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

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