Skip to content

CLI to support two way talk tests#75

Merged
rquidute merged 8 commits into
v2.15-cli-developfrom
fix/904_support_cli_two_way_talk
Mar 13, 2026
Merged

CLI to support two way talk tests#75
rquidute merged 8 commits into
v2.15-cli-developfrom
fix/904_support_cli_two_way_talk

Conversation

@rquidute
Copy link
Copy Markdown
Contributor

@rquidute rquidute commented Mar 13, 2026

What Changed

This PR adds the Two-Way Talk support. -

TC-WEBRTC-1.6 Two-Way Talk support: New two_way_talk_handler.py starts an HTTP server on port 8999 serving a WebRTC browser peer page (two_way_talk_verification.html). The CLI now waits until the browser is detected as open before resuming test execution, and the prompt manager renders the PASS/FAIL form dynamically via /prompt_ready polling.

Related Issue

project-chip/certification-tool#904

Testing

New Unit test added and passing

CLI execution runs successfully. CLI command: th-cli run-tests -t TC_WEBRTC_1_6 --project-id 4
chip-camera-app command: rm -rf /tmp/chip_*;./chip-camera-app --camera-test-audiosrc --camera-audio-playback

ubuntu@ubuntu:~/certification-tool/cli$ th-cli run-tests -t TC_WEBRTC_1_6 --project-id 4
Project Config: {'test_parameters': {'endpoint': 1}, 'network': {'wifi': {'ssid': 'testharness', 'password': 'wifi-password'}, 'thread': {'rcp_serial_path': '/dev/ttyACM0', 'rcp_baudrate': 115200, 'on_mesh_prefix': 'fd11:22::/64', 'network_interface': 'eth0', 'dataset': {'channel': '15', 'panid': '0x1234', 'extpanid': '1111111122222222', 'networkkey': '00112233445566778899aabbccddeeff', 'networkname': 'DEMO'}, 'otbr_docker_image': None, 'ba_host': '127.0.0.1', 'ba_port': 5684}}, 'dut_config': {'discriminator': '3840', 'setup_code': '20202021', 'pairing_mode': 'onnetwork', 'chip_timeout': None, 'chip_use_paa_certs': False, 'trace_log': True, 'enhanced_setup_flow': None}}
PICS Used: {
"clusters": {}
}
Selected tests: {
"SDK Python Tests": {
"Python Testing Suite": {
"TC_WEBRTC_1_6": 1
}
}
}
Creating new test run with title: 2026-03-13-12:29:34
═════════════════════════════════════════════════════════
⚠ WebRTC Two-Way Talk — Action Required ⚠
═════════════════════════════════════════════════════════
Open this URL in a browser NOW and keep it open:
http://192.168.20.180:8999
The page will connect to the DUT automatically.
You will be asked to select PASS or FAIL during the test.
═════════════════════════════════════════════════════════

Waiting for browser to open the page...
✔ Browser connected — starting test.

Starting Test run:

  • Title: 2026-03-13-12:29:34
  • ID: 150

═══════════════════════════════════════════════════════
CHIP Server Information:

  • Node ID: 0xda8fab5116165dad
  • Manual Pairing Code: 34970112332
    ═══════════════════════════════════════════════════════

Test Run [EXECUTING]

  • Python Testing Suite [EXECUTING]
    =======================================
    Do you want to reuse the previous commissioning information?
    If you select NO, a new commissioning will be performed
    1: YES
    2: NO
    Please enter a number for an option above:
    2
    =======================================
    =======================================
    Make sure the DUT is in Commissioning Mode
    1: DONE
    2: FAILED
    Please enter a number for an option above:
    1
    =======================================
    • TC-WEBRTC-1.6 [EXECUTING]
      - Start Python test [EXECUTING]
      - Start Python test [PASSED]
      - Commission DUT if not already done [EXECUTING]
      - Commission DUT if not already done [PASSED]
      - Confirm no active WebRTC sessions exist in DUT [EXECUTING]
      - Confirm no active WebRTC sessions exist in DUT [PASSED]
      - Confirm DUT(Camera) supports Speaker feature AVSM.S.F04(SPKR) [EXECUTING]
      - Confirm DUT(Camera) supports Speaker feature AVSM.S.F04(SPKR) [PASSED]
      - TH reads TwoWayTalkSupport Attribute from AVSM cluster from DUT [EXECUTING]
      - TH reads TwoWayTalkSupport Attribute from AVSM cluster from DUT [PASSED]
      - If DUT supports AVSM.S.F01(VDO) feature, TH sends the VideoStreamAllocate command with valid values of StreamUsage, VideoCodec, MinResolution, MaxResolution, MinBitRate, MaxBitRate, MinFrameRate, MaxFrameRate, KeyFrameInterval, WatermarkEnabled, OSDEnabled [EXECUTING]
      - If DUT supports AVSM.S.F01(VDO) feature, TH sends the VideoStreamAllocate command with valid values of StreamUsage, VideoCodec, MinResolution, MaxResolution, MinBitRate, MaxBitRate, MinFrameRate, MaxFrameRate, KeyFrameInterval, WatermarkEnabled, OSDEnabled [PASSED]
      - TH sends the AudioStreamAllocate command with valid values of StreamUsage, AudioCodec, ChannelCount, SampleRate, BitDepth, BitRate. [EXECUTING]
      - TH sends the AudioStreamAllocate command with valid values of StreamUsage, AudioCodec, ChannelCount, SampleRate, BitDepth, BitRate. [PASSED]
      - TH sends the ProvideOffer command with an SDP Offer, null WebRTCSessionID, VideoStreamID and AudioStreamID saved in steps 2, 3 to the DUT. [EXECUTING]
      - TH sends the ProvideOffer command with an SDP Offer, null WebRTCSessionID, VideoStreamID and AudioStreamID saved in steps 2, 3 to the DUT. [PASSED]
      - DUT sends Answer command to the TH/WEBRTCR. [EXECUTING]
      - DUT sends Answer command to the TH/WEBRTCR. [PASSED]
      - TH sends the SUCCESS status code to the DUT. [EXECUTING]
      - TH sends the SUCCESS status code to the DUT. [PASSED]
      - TH sends the ProvideICECandidates command with a its ICE candidates to the DUT. [EXECUTING]
      - TH sends the ProvideICECandidates command with a its ICE candidates to the DUT. [PASSED]
      - TH waits for 10 seconds [EXECUTING]
      =======================================
      🎤 Two-Way Talk Verification
      Verify if two way talk back is working
      Open http://192.168.20.180:8999 to verify audio/video and select PASS or FAIL.
      Waiting for your response in the browser...
      ✅ User selected: PASS
      =======================================
      - TH waits for 10 seconds [PASSED]
      - TH sends the EndSession command with the WebRTCSessionID saved in step 4 to the DUT. [EXECUTING]
      - TH sends the EndSession command with the WebRTCSessionID saved in step 4 to the DUT. [PASSED]
      - TH sends the VideoStreamDeallocate command if allocated, with the VideoStreamID saved in step 2 to the DUT. [EXECUTING]
      - TH sends the VideoStreamDeallocate command if allocated, with the VideoStreamID saved in step 2 to the DUT. [PASSED]
      - TH sends the AudioStreamDeallocate command with the AudioStreamID saved in step 3 to the DUT. [EXECUTING]
      - TH sends the AudioStreamDeallocate command with the AudioStreamID saved in step 3 to the DUT. [PASSED]
      - Show test logs [EXECUTING]
      - Show test logs [PASSED]
    • TC-WEBRTC-1.6 [PASSED]
  • Python Testing Suite [PASSED]
    Test Run [PASSED]
    Log output in: ./output_logs/test_run_2026-03-13-12:29:34.log

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the CLI's capability to support Two-Way Talk verification for WebRTC-enabled devices. It achieves this by integrating a local HTTP server that hosts a dedicated WebRTC client page, enabling seamless interaction between the CLI test harness and a user's browser. This allows for interactive audio/video verification during specific test cases, streamlining the testing process for complex multimedia functionalities.

Highlights

  • Two-Way Talk Support: Introduced a new two_way_talk_handler.py module that starts an HTTP server on port 8999, serving a WebRTC browser peer page (two_way_talk_verification.html) to facilitate two-way audio/video communication for testing.
  • CLI Integration: The CLI now intelligently detects if a Two-Way Talk test (e.g., TC_WEBRTC_1_6) is selected. If so, it initiates the WebRTC server and waits for the browser to connect before proceeding with test execution.
  • Dynamic Prompt Management: The prompt manager (prompt_manager.py) has been updated to dynamically render PASS/FAIL forms within the browser page via /prompt_ready polling, allowing for interactive user verification during WebRTC tests.
  • Enhanced User Feedback: A prominent banner is displayed in the CLI when a Two-Way Talk test is run, instructing the user to open the WebRTC verification URL in a browser and indicating when the browser has successfully connected.
  • Robust Error Handling: Improved error detection and messaging for WebRTC-related failures, specifically providing a 'BROWSER TAB REQUIRED' warning if the browser peer connection is not found during a WebRTC test.
  • Comprehensive Unit Testing: Added extensive unit tests for the new TwoWayTalkHandler and TwoWayTalkHTTPHandler classes, covering server lifecycle, prompt handling, browser waiting, user response, and HTTP routing, ensuring reliability and correctness.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • tests/test_run/camera/test_two_way_talk_handler.py
    • Added comprehensive unit tests for the new TwoWayTalkHandler and TwoWayTalkHTTPHandler classes.
  • tests/test_run/test_prompt_manager.py
    • Updated to import TwoWayTalkVerificationRequest.
    • Added extensive unit tests for _handle_two_way_talk_prompt, covering dispatch, active handler usage, response sending, and fallback handler creation.
  • tests/test_run/test_websocket_socket.py
    • Modified WebRTC warning logic to remove specific error text checks.
    • Replaced detailed WebRTC warnings with a generic 'BROWSER TAB REQUIRED' message for peer connection failures.
  • tests/test_run_tests.py
    • Updated imports to include new Two-Way Talk related functions and constants.
    • Added unit tests for _dict_contains_key, _contains_webrtc_two_way_talk, and _print_webrtc_banner_and_wait functions.
  • th_cli/commands/run_tests.py
    • Integrated TwoWayTalkHandler to manage the WebRTC verification server.
    • Implemented logic to detect Two-Way Talk tests and start the WebRTC server conditionally.
    • Added _print_webrtc_banner_and_wait function to display user instructions and wait for browser connection.
    • Ensured proper cleanup of the TwoWayTalkHandler upon test completion or error.
    • Added helper functions _dict_contains_key and _contains_webrtc_two_way_talk for recursive dictionary key searching and WebRTC test detection.
  • th_cli/test_run/camera/two_way_talk_handler.py
    • Added a new module defining TwoWayTalkHandler and TwoWayTalkHTTPHandler classes.
    • Implemented a local HTTP server to serve the WebRTC verification page.
    • Included functionality to manage browser connection, handle user input for prompts, and provide audio analysis.
    • Added methods for starting, stopping, and managing the server's state and communication queues.
  • th_cli/test_run/camera/two_way_talk_verification.html
    • Added a new HTML file serving as the WebRTC browser peer page.
    • Included JavaScript for WebRTC signaling, audio/video display, audio level analysis, and interactive PASS/FAIL prompts.
  • th_cli/test_run/prompt_manager.py
    • Updated to import TwoWayTalkVerificationRequest.
    • Added _handle_two_way_talk_prompt to manage interaction with the TwoWayTalkHandler for user prompts, including fallback server creation if the active handler is lost.
  • th_cli/test_run/websocket.py
    • Removed outdated WebRTC-specific error indicators.
    • Simplified error logging to focus on a generic 'BROWSER TAB REQUIRED' warning for relevant failures.
Activity
  • The author, rquidute, implemented the core Two-Way Talk support, including the HTTP server, WebRTC page, and CLI integration.
  • Unit tests were added and verified to ensure the new functionality works as expected.
  • CLI execution was successfully tested with th-cli run-tests -t TC_WEBRTC_1_6 --project-id 4, demonstrating the interactive browser prompt and audio/video verification.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This PR introduces support for Two-Way Talk in the CLI by adding a local HTTP server to handle WebRTC interactions with a browser. The implementation is comprehensive, including a new handler, an HTML verification page, and extensive unit tests. The changes are well-structured, and the logic for detecting and managing the WebRTC test flow is sound. I have a few suggestions to improve robustness and maintainability by refining exception handling and refactoring the use of global state.

Comment thread th_cli/test_run/camera/two_way_talk_handler.py Outdated
Comment thread th_cli/test_run/camera/two_way_talk_handler.py
Comment thread th_cli/commands/run_tests.py Outdated
rquidute and others added 3 commits March 13, 2026 15:40
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@rquidute rquidute self-assigned this Mar 13, 2026
@rquidute rquidute changed the title Fix/904 support cli two way talk CLI to support two way talk tests Mar 13, 2026
Comment thread th_cli/commands/run_tests.py Outdated
Comment thread th_cli/commands/run_tests.py Outdated
Comment thread th_cli/test_run/prompt_manager.py Outdated
@rquidute rquidute merged commit 16741f2 into v2.15-cli-develop Mar 13, 2026
2 checks passed
@rquidute rquidute deleted the fix/904_support_cli_two_way_talk branch March 13, 2026 18:04
oxesoft added a commit that referenced this pull request May 25, 2026
* [Fix] Handling Empty Usage Tag In CLI's PICS Parser (#43)

* PICS parser logic update: verifying if the 'usage' tag exists, ignoring if not.

* Gemini's suggestion: Improving conditional logic

* Removing unnecessary attribution line

* Fix _send_prompt_response calls and added timeout for large upload (#44)

* Fix _send_prompt_response calls and added timeout for large upload

* Update th_cli/test_run/prompt_manager.py

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Code review - Gemini

* Added constants values

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Show friendly message to unsupported TWO WAY TALK test execution using CLI (#46)

* Add Checking for  ffmpeg and improve abort-testing command

* Webrtc working

* Changes related to two way talk

* Updated ffmpeg parameters

* Deleted unwated config file

* changes after black command

* Update th_cli/commands/abort_testing.py

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Update th_cli/th_utils/ffmpeg_converter.py

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Update th_cli/test_run/websocket.py

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Code review gemini

* Code review gemini

* Removed extra space in warning message from shared_constant file

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Fixing the CLI Run Test Logic to handle project config and user config (#47)

* Fixing the CLI Run Test Logic to handle project config and user config

* Gemini Suggestions: Fixing Path creation and adding except print to the user.

* Removed Error column from test execution list (#49)

* [Feature] Adding the Node ID to CLI Output (#48)

* Adding the Node ID to CLI output

* Updating ChipServerInfo attribute type

Plus minor fixes

* Fix cli unit tests not working (#50)

* Fix CLI unit tests not working

* Removed Error column from test execution list (#49)

* Updated conftest and models

* Update th_cli/commands/test_run_execution.py

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* [FIX] CLI PICS Parser And Prompt (#51)

* Adding Message Prompt Request type and fixing PICS XML parser

* Fixing some flake8 issues

* Fixing isort issue

* Gemini's Suggestion: Remove unnecessary timeout exception logic

* Fix test_run_execution command (#52)

* Fix test_run_execution command

* Update tests/test_test_run_execution.py

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Update tests/test_test_run_execution.py

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Update th_cli/commands/test_run_execution.py

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Added support to project-id in test_run_execution command

* Black formating

* Code review

* Code review

* Code review

* code review

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* [Feature] Printing Manual Pairing Code (#53)

* Printing the Manual Pairing Code to CLI's test execution output

* Gemini Suggestion: Improving logic and fixing f strings

* Fixing comment

Adding missing parameter for the method's comment

Co-authored-by: Carolina Lopes <116589288+ccruzagralopes@users.noreply.github.com>

---------

Co-authored-by: Carolina Lopes <116589288+ccruzagralopes@users.noreply.github.com>

* Adding the test parameters to the models to be used in the CLI's project config (#55)

Also, the logic to print the chipserver info was fixed to always show the Node ID, even without the manual pairing code

* Enhanced the th-cli available-tests command with new formatting options (#54)

* Improve CLI available-tests command

* Code formating

* Minor code changes

* Code review - gemini code assistant

* Increase websocket message size (#56)

* Increase websocket message size

* Create constant for WEBSOCKET_MAX_MESSAGE_SIZE

* Improve  FFmpeg Error Handling in Video Stream Tests (#57)

* Add message for ffmpeg not found

* Code review - gemini

* Code review

* Code review

* [Feature] Swap CLI Properties Config With JSON (#58)

* Swapping the Properties config file with the JSON format

* Fixing lint alerts

* New Line At File's End

Gemini Suggestion: adding a new line to the default_config.json file as per recommendation. This can prevent som e text processing tools errors.

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Implement CLI Support for Push AV Tests  (#59)

* Initial code

* Stable version

* Added unit tests

* Minor changes

* Code formating and isort

* Updated unit test

* Code review

* Add comment regarding disabling SSL verification

* Removed unused import

* Removed unused imports

* Minor changes

* Fixed f-string

* Removed unecessary init files

* Code review - minor changes

* [Feature] Double-Dash Extra Arguments (#60)

* Implement the double dash extra arguments feature

Also including the Unit Tests

* Fixing ouput message

* Improving parser logic

* Fixing lint errors

* Improving parser logic for subsequent --

* Fixing the README Notes

* Fixing CLI run_tests command conditional for extra arguments

* Fixing ChipServer info display when using no project ID or config options (#61)

* Fix WebSocket close handshake error for long-running test executions (#63)

* Fix WebSocket close handshake error for long-running test executions in the CLI

* Update th_cli/test_run/websocket.py

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* [FIX] Updating CLI API Client Generator (#62)

* Updating and Fixing CLI API Client Generator

Updating tool version, files, scripts to support ARM64 hosts and generate successfully

* Re-enable black formatter to fix several files structure

* Adding postprocessing script to fix return type of api_response.py file

Also, re-enabling the formatters in the end of the generation

* Returning the TimeoutException logic but now adding the import accordingly

* Updating shell scripts to handle host architecture type and new flag options

* Fixing licence header generation with mustache files

* Added NFC_WIFI and THREAD_MESHCOP

* [Fix] CLI Project Create and Default Config (#67)

* Fixing default config file and usage for project creation/update

Also, fixing script file extension for run_pytest

* Gemini Suggestion: Adding new line at end of file

* Update regex pattern for test ID validation (#66)

Edited the regex pattern, so that Tests such as TC-I-XXX work with the CLI, which threw an error before.

* [Feature] Replace OpenAPI Generator with Datamodel-Code-Generator (#65)

* New CLI API Client Generator

Exchanging OpenAPI-Generator with Datamodel-Code-Generator

* Removing Openapi-generator files and adding README

* Fixing parameter placeholder from project command

* Fixing the Project Update command to handle empty names

* Fixing Project Update Unit Tests

* Fixing script's README file

* Project update improvements and minor fixes

* Implementing some TODOs with missing logic for headers and multipart fields (file or data)

* Fixing the README title

* [Feature] Refactoring CLI Project Command (#68)

* Updating CLI project command to use Click's group feature with subcommads

* Simplifying logic using a SyncAPI generator and a contextmanager decorator

* Fix test case comparison logic (#69)

* Fix test case comparison logic

* Update th_cli/utils.py

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Rever code formating

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Add missing image_handler.py and image_verification.html for snapshot camera verification                                                (#71)

* Fixed Screenshot camera verification

* Fixed copyright year

* Code review Gemini-code-assist

* Code review Gemini-code-assist

* Fix regex pattern to support additional valid test ID formats   (#73)

* Fix regex to support single-segment and underscore-category test IDs (TC-I-X, TC-BR-X, TC-MCORE_FS-X.X)

* Update tests/test_validation.py

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Feature/909 Improve CLI unit tests code coverage for camera files (#72)

* Fixed Screenshot camera verification

* Fixed copyright year

* Code review Gemini-code-assist

* Code review Gemini-code-assist

* Improve CLI test coverage across camera files and minor static analysis violations

* Undo cov-fail-under change

* black formating

* [FIX] Run_Tests Command Configuration Logic (#74)

* Fixing run_tests command configuration logic

* Gemini review: improving logic

* CLI  to support two way talk tests (#75)

* Initial implementation to support two way talk

* Some code improvements

* Impreved the user experience by only resume with the test case execution only when the CLI detects that the browser was opened

* Improved code comments

* Update th_cli/test_run/camera/two_way_talk_handler.py

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Update th_cli/commands/run_tests.py

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Code review  - gemini code assist::Use dependency injection to pass the handler instance through the call stack

* Code review

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* [Feature] Add PICS Parameter To CLI Projects (#78)

* Adding pics parameters to CLI's project commands

* Fixing project update unit test

* Updating run-test command to use the configured pics with none was provided

* Fetching default project when no project ID was provided

* Improving project manipulation in run-test command

* [Fix] Project Create Command With No PICS (#79)

* Fixing project create command when PICS is not provided

* Gemini Suggestion: Removing unecessary global variable. Using PICS object directly

* [FIX] Updating CLI To Handle Temporary PICS (#80)

* Updating CLI to handle PICS during execution to be temporary (not persisted to the project in DB)

* Fixing else conditional from run_tests.py file

* Fixing openapi.json Create Cli Test Run Execution description

* [FEATURE] Update CLI with grouped logs download feature (#82)

* Update CLI with grouped logs download feature

* allow endpoints to return binary data

* Fix(cli): unique per-run log filename with timestamp + mode=w (#984) (#83)

---------

Co-authored-by: antonio-amjr <116589331+antonio-amjr@users.noreply.github.com>
Co-authored-by: Romulo Quidute Filho <116586593+rquidute@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Carolina Lopes <116589288+ccruzagralopes@users.noreply.github.com>
Co-authored-by: Antonio Melo Jr. <a_junior@apple.com>
Co-authored-by: Romulo Quidute Filho <rquidute@apple.com>
Co-authored-by: ali gruenhaupt <yesilbas.ma@gmail.com>
Co-authored-by: Steven Green <sgreen@csa-iot.org>
Co-authored-by: abhisheksingh-esp <abhishek.singh@espressif.com>
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.

3 participants