• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

stlehmann / pyads / 27103057744
94%

Build:
DEFAULT BRANCH: master
Ran 07 Jun 2026 07:54PM UTC
Jobs 1
Files 102
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

07 Jun 2026 07:52PM UTC coverage: 93.575% (+0.2%) from 93.365%
27103057744

push

github

web-flow
fix: symbol info for function block properties with monitoring = call (#261) (#529)

* fix symbol info for function block properties with monitoring = call #261

* refactor: replace magic 0xF019 with named constant ADSIGRP_SYM_FB_PROP_CALL

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* refactor: use _acquired_handle flag instead of index_group check in __del__

index_group == ADSIGRP_SYM_VALBYHND is true for any symbol using that access
method, not just ones where get_handle() was called internally. The flag
precisely tracks whether release_handle() is required on destruction.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: guard release_handle in __del__ against ADSError

Mirrors the existing try/except around clear_device_notifications().
If the connection is gone at GC time (e.g. interpreter shutdown, same
class of problem fixed in #528), release_handle() would raise and
produce an unraisable exception in the destructor.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* test: add tests for FB property symbol with monitoring=call

Covers four scenarios using mocked adsGetSymbolInfo:
- iGroup=0xF019 causes get_handle() and ADSIGRP_SYM_VALBYHND
- normal symbols use offset directly, no handle acquired
- handle is released via release_handle() on destruction
- ADSError from release_handle() in __del__ is suppressed

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: add changelog entry for FB property symbol fix (#261)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: David Glenck <dgl@climeworks.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

10836 of 11580 relevant lines covered (93.58%)

0.94 hits per line

Coverage Regressions

Lines Coverage ∆ File
2
98.71
0.09% /opt/hostedtoolcache/Python/3.10.20/x64/lib/python3.10/site-packages/pyads/symbol.py
2
98.71
0.09% /opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/pyads/symbol.py
2
98.71
0.09% /opt/hostedtoolcache/Python/3.12.13/x64/lib/python3.12/site-packages/pyads/symbol.py
2
98.71
0.09% /opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/pyads/symbol.py
2
98.71
0.09% /opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/pyads/symbol.py
2
98.71
0.09% /opt/hostedtoolcache/Python/3.9.25/x64/lib/python3.9/site-packages/pyads/symbol.py
Jobs
ID Job ID Ran Files Coverage
1 27103057744.1 07 Jun 2026 07:54PM UTC 102
93.58
GitHub Action Run
Source Files on build 27103057744
  • Tree
  • List 102
  • Changed 18
  • Source Changed 0
  • Coverage Changed 18
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • b5d4a4ed on github
  • Prev Build on master (#27102011715)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc