Skip to content

test(fallback): poll_topics counts the string member forms too - #644

Merged
JarbasAl merged 1 commit into
devfrom
test/poll-topics-string-members
Sep 19, 2026
Merged

JarbasAl merged 1 commit into
devfrom
test/poll-topics-string-members

Conversation

@openvoiceos-bot

Copy link
Copy Markdown
Contributor

What

poll_topics() in test_fallback_pong_spelling_floor.py now counts FALLBACK_PING / FALLBACK_PONG written as a string constant (SpecMessage["FALLBACK_PONG"], getattr(SpecMessage, "FALLBACK_PONG")) as the canonical topic they carry. That is the branch ovos-core#994 has in its emitted_topics(). The two floor guards now apply the same rule.

Why

#624 counted the attribute form only. A switch written through a subscript or getattr reached the floor case only through the legacy-pair assertion (review of ovos-core#994, note 2).

Test

poll_topics() takes an optional source, and a TestPollTopicsGuard class holds four cases: attribute, subscript, getattr, and a legacy-literal control. Without the new branch the subscript and getattr cases fail (2 failed, 4 passed). With it: 6 passed.

Follow-up to #624. Task T-1612.

🤖 Generated with Claude Code

@coderabbitai

coderabbitai Bot commented Sep 19, 2026 •

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 186bfa1b-aa91-42f6-8e41-5a4fbfb1e2cd


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Sep 19, 2026 •

Copy link
Copy Markdown
Contributor

Automated check summary ready. 📊

I've aggregated the results of the automated checks for this PR below.

📡 Channel Compat — stable

The automated report has been generated. 🖨️

🚧 Channel unresolvable with this checkout — the repo's dependency floors exceed what the channel pins (fleet finding; see the install log).

Constraints: https://raw.githubusercontent.com/OpenVoiceOS/OpenVoiceOS/main/constraints-stable.txt
Resolved stack: channel-compat-stable artifact (constraints + pip freeze).

⚖️ License Check

Checking the terms and conditions of your code. 📝

✅ No license violations found.

Policy: Apache 2.0 (universal donor). StrongCopyleft / NetworkCopyleft / WeakCopyleft / Other / Error categories fail. MPL allowed.

🔍 Lint

I've checked the vitals of this contribution. 🩺

❌ ruff: issues found in 96 file(s) — see job log
✅ actionlint: 11 workflow file(s), no finding

📡 Channel Compat — testing

I've finished the heavy lifting on this check. 🏋️‍♂️

🚧 Channel unresolvable with this checkout — the repo's dependency floors exceed what the channel pins (fleet finding; see the install log).

Constraints: https://raw.githubusercontent.com/OpenVoiceOS/OpenVoiceOS/main/constraints-testing.txt
Resolved stack: channel-compat-testing artifact (constraints + pip freeze).

📋 Repo Health

I've performed a digital acupuncture on the codebase. 📍

✅ All required files present.

Latest Version: 9.8.5a2

✅ ovos_workshop/version.py — Version file
✅ README.md — README
✅ LICENSE — License file
✅ pyproject.toml — pyproject.toml
⚠️ setup.py — setup.py
✅ CHANGELOG.md — Changelog
✅ ovos_workshop/version.py has valid version block markers

🔨 Build Tests

Checking if the architectural integrity holds up. 🏛️

✅ All versions pass

Python Build Install Tests pytest
3.10 ✅ ✅ ✅ 739 passed, 242 warnings, 22 subtests passed in 76.54s (0:01:16)
3.11 ✅ ✅ ✅ 739 passed, 242 warnings, 22 subtests passed in 78.48s (0:01:18)
3.12 ✅ ✅ ✅ 739 passed, 242 warnings, 22 subtests passed in 79.08s (0:01:19)
3.13 ✅ ✅ ✅ 739 passed, 242 warnings, 22 subtests passed in 79.83s (0:01:19)
3.14 ✅ ✅ ✅ 739 passed, 242 warnings, 22 subtests passed in 78.72s (0:01:18)

🔒 Security (pip-audit)

Checking if we're following security best practices. 📏

✅ No known vulnerabilities found (72 packages scanned).


Keeping the repository healthy and happy. 😊

ovos-core#994 counts FALLBACK_PING/FALLBACK_PONG written as a string
constant (SpecMessage["FALLBACK_PONG"], getattr(SpecMessage,
"FALLBACK_PONG")) as the canonical topic they carry. The workshop guard
from #624 counted the attribute form only, so the two guards differed
(review-ovos-core-994.md note 2). Ported the branch; poll_topics takes an
optional source for the mutant cases: attribute, subscript, getattr and a
legacy-literal control. Without the branch the subscript and getattr
cases fail; with it, 6 passed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@JarbasAl
JarbasAl force-pushed the test/poll-topics-string-members branch from 8e14e2e to 6ec7c6f Compare September 19, 2026 00:40
@JarbasAl
JarbasAl marked this pull request as ready for review September 19, 2026 12:43
@JarbasAl
JarbasAl merged commit 9109bc4 into dev Sep 19, 2026
14 checks passed
@JarbasAl
JarbasAl deleted the test/poll-topics-string-members branch September 19, 2026 12:43
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

Successfully merging this pull request may close these issues.

2 participants