Skip to content

Conversation

@sarmahaj
Copy link
Contributor

@gemini-code-assist
Copy link

Summary of Changes

Hello @sarmahaj, 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 introduces a new set of end-to-end tests to ensure the correct behavior of the Rendezvous (RV) bypass feature. This feature streamlines the device onboarding process by allowing devices to directly connect with the Owner during the TO2 phase, bypassing the initial TO1 interaction with the Rendezvous service. The changes include new test scripts, updates to utility functions to support the RV bypass flag, and a dedicated Docker Compose setup for testing this scenario.

Highlights

  • New E2E Tests for RV Bypass: Comprehensive end-to-end tests have been added to validate the functionality of the Rendezvous (RV) bypass feature.
  • RV Bypass Mechanism: The RV bypass allows devices to skip the TO1 phase of onboarding and directly proceed to the TO2 phase with the Owner.
  • Dependency on External PR: The tests are currently dependent on changes in a specific branch of the go-fdo-client repository (PR38) and will be updated to use the main branch once that PR is merged.
Ignored Files
  • Ignored by pattern: .github/workflows/** (2)
    • .github/workflows/ci.yml
    • .github/workflows/containers.yml
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

@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 pull request introduces end-to-end tests for the RV bypass functionality, which allows a device to skip the TO1 protocol. The changes include a new docker-compose file for the test environment, modifications to utility scripts to support the rv_bypass flag, and new test scripts for both CI (local binaries) and container-based environments. The changes are well-structured and the tests seem to cover the new functionality correctly. I've provided a few suggestions to improve code clarity, fix a bug related to redundant cleanup, and follow best practices in shell scripting.

@sarmahaj sarmahaj force-pushed the e2e-rv-bypass branch 5 times, most recently from c9cce4e to 7e15cf5 Compare November 21, 2025 11:43
with:
path: go-fdo-server

# TODO: Update to upstream once RV bypass PR is merged in go-fdo-client

Check notice

Code scanning / devskim

A "TODO" or similar was left in source code, possibly indicating incomplete functionality Note

Suspicious comment
with:
path: go-fdo-server

# TODO: Update to upstream once RV bypass PR is merged in go-fdo-client

Check notice

Code scanning / devskim

A "TODO" or similar was left in source code, possibly indicating incomplete functionality Note

Suspicious comment
@sarmahaj
Copy link
Contributor Author

/gemini review

Copy link

@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 pull request introduces end-to-end tests for the RV bypass functionality, which is a solid addition for ensuring the feature works as expected. The changes include new Docker Compose files for a test setup, a new test script to verify the bypass behavior, and updates to utility scripts. The approach of reusing test logic for both binary and container-based tests is well-structured. I have a couple of suggestions to enhance the robustness and reliability of the test scripts, primarily concerning safer parameter handling in shell scripts and avoiding side effects in the client installation process. Overall, these are valuable tests for the project.

@sarmahaj
Copy link
Contributor Author

/gemini review

Copy link

@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 pull request introduces comprehensive end-to-end tests for the RV bypass functionality, covering both binary-based CI and containerized environments. The changes are well-structured, adding new test scripts and Docker Compose configurations. The core logic for enabling RV bypass via a flag in the rendezvous information is correctly implemented. My review includes a critical fix for a potential resource leak in a test script, along with suggestions to improve script readability and correct a minor typo in a log message.

@djach7
Copy link
Contributor

djach7 commented Nov 25, 2025

Tested this out, I think the e2e tests are good and seem to work as expected with my manual testing. The RV bypass API correctly accepts rv_bypass: true. However, I think I might've hit an rv_bypass bug. I think the manufacturer server might be bypassing the rv_bypass flag during initialization. Going to keep testing and see if I can find out more

Add comprehensive e2e test for RV bypass (skip TO1) with CI support.

Signed-off-by: Sarita Mahajan <[email protected]>
@sarmahaj
Copy link
Contributor Author

sarmahaj commented Nov 27, 2025

Thanks for review and testing @djach7 !
this PR needs a rebase as well. But let me know if you hit any issue , trying to test on my end also.

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