Skip to content

Merge Release/1.9.0 to master#221

Merged
kanjoe24 merged 19 commits into
masterfrom
release/1.9.0
Jul 21, 2026
Merged

Merge Release/1.9.0 to master#221
kanjoe24 merged 19 commits into
masterfrom
release/1.9.0

Conversation

@kanjoe24

Copy link
Copy Markdown
Contributor

Merge Release/1.9.0 to master

TB-1993 and others added 19 commits March 10, 2026 13:39
Optionality for Docker

Potential fix for pull request finding

Agreed

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

Apply suggestions from code review

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

Improve compatibility and add console enable/disable support

- Add Python 3.13+ compatibility shim for removed telnetlib module
- Use flushInput() instead of reset_input_buffer() in serialClass for
  broader pyserial compatibility
- Support 'enabled: false' in console config to skip disabled consoles,
  with automatic fallback to the first enabled console
- Make capture (cv2/pytesseract) and webpageController (selenium) imports
  optional to support minimal environments (e.g. Docker)
- Add UTF-8 encoding to log file handlers
- Fix logger cleanup to use self.log.handlers instead of hasHandlers()

ModuleNotFoundError is finer grain
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
- Add Python 3.13+ compatibility shim for removed telnetlib module
- Use flushInput() instead of reset_input_buffer() in serialClass for
  broader pyserial compatibility
- Support 'enabled: false' in console config to skip disabled consoles,
  with automatic fallback to the first enabled console
- Make capture (cv2/pytesseract) and webpageController (selenium) imports
  optional to support minimal environments (e.g. Docker)
- Add UTF-8 encoding to log file handlers
- Fix logger cleanup to use self.log.handlers instead of hasHandlers()
…recipe

- Document the per-console 'enabled' flag (testController auto-selects the
  enabled console; deviceManager skips disabled and falls back) added on develop.
- Note Docker-safe optional imports (capture/cv2/pytesseract/pillow, selenium)
  and the Python 3.13+ telnet compatibility shim.
- State the Python 3.10+ floor in the dependencies section.
- Add a 'From a Spec to a Test Suite' recipe and cross-links to the ut-core
  and ut-control briefs so the three form a usable set.
Adopt the AGENTS.md convention so AI tooling auto-discovers the brief.
Renames docs/ai-brief.md -> AGENTS.md and repoints the ut-core/ut-control
companion-brief links at their new root AGENTS.md paths.
…screenImages, kasa, sleep)

- Serial: only port/baudRate (+prompt) are honored; dataBits/stopBits/parity/
  flowControl are not applied by serialSession.
- Log tree: test_summary.log sits in the per-test dir for a standalone
  testController (only at the timestamp root when a parent logger exists);
  screenImages/ is always created, captureImages/ only when capture is enabled.
- Kasa: options defaults to '--type plug'; document the strip form.
- Power-cycle example: use self.utils.wait(30) instead of an unimported time.sleep.
Add AI-ingestible framework brief
Copilot AI review requested due to automatic review settings July 21, 2026 16:21
@kanjoe24
kanjoe24 requested a review from bhanucbp July 21, 2026 16:26

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR merges the Release/1.9.0 branch into master, bringing forward Python 3.13 compatibility work (telnetlib removal), making heavy/optional modules import-safe for slim environments (e.g., Docker), and improving console selection/initialization behaviors across the RAFT core.

Changes:

  • Add optional-dependency import fallbacks for capture (cv2/pytesseract/Pillow) and webpageController (selenium), and handle missing telnetlib on Python 3.13+.
  • Update console handling to respect enabled: false and improve fallback behavior when a requested console is unavailable.
  • Misc: log handler cleanup improvements, virtual CEC initialization tweak, serial flush compatibility, and release documentation updates (CHANGELOG + new AGENTS.md brief).

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
framework/core/testControl.py Adds optional imports and changes DUT session selection to prefer an enabled console.
framework/core/logModule.py Improves logger handler cleanup and uses UTF-8 encoding for log files.
framework/core/hdmicecModules/virtualCECController.py Starts virtual CEC controller automatically during initialization.
framework/core/deviceManager.py Skips disabled consoles and adds console fallback selection.
framework/core/commandModules/telnetClass.py Adds a Python 3.13+ telnetlib compatibility shim.
framework/core/commandModules/serialClass.py Adds a compatibility fallback for flushing serial input buffers.
framework/core/init.py Makes capture/webpageController imports resilient to missing optional dependencies.
CHANGELOG.md Adds 1.9.0 changelog entries.
AGENTS.md Adds the AI-ingestible framework brief documentation.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread framework/core/testControl.py
Comment thread framework/core/testControl.py
Comment thread framework/core/deviceManager.py
Comment thread framework/core/commandModules/telnetClass.py
Comment thread framework/core/commandModules/telnetClass.py
Comment thread framework/core/hdmicecModules/virtualCECController.py
Comment thread framework/core/__init__.py
Comment thread CHANGELOG.md
@kanjoe24
kanjoe24 merged commit b65ade9 into master Jul 21, 2026
5 checks passed
@kanjoe24
kanjoe24 deleted the release/1.9.0 branch July 21, 2026 18:26
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 21, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants