Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restyle Introduce Python-based freestanding tests #21568

Closed
wants to merge 4 commits into from

Conversation

restyled-io[bot]
Copy link
Contributor

@restyled-io restyled-io bot commented Aug 3, 2022

A duplicate of #21567 with additional commits that automatically address
incorrect style, created by Restyled.

⚠️ Even though this PR is not a Fork, it contains outside contributions.
Please review accordingly.

Since the original Pull Request was opened as a fork in a contributor's
repository, we are unable to create a Pull Request branching from it with only
the style fixes.

The following Restylers made fixes:

To incorporate these changes, you can either:

  1. Merge this Pull Request instead of the original, or

  2. Ask your contributor to locally incorporate these commits and push them to
    the original Pull Request

    Expand for example instructions
    ```console
    git remote add upstream https://github.com/project-chip/connectedhomeip.git
    git fetch upstream pull/<this PR number>/head
    git merge --ff-only FETCH_HEAD
    git push
    ```
    

NOTE: As work continues on the original Pull Request, this process will
re-run and update (force-push) this Pull Request with updated style fixes as
necessary. If the style is fixed manually at any point (i.e. this process finds
no fixes to make), this Pull Request will be closed automatically.

Sorry if this was unexpected. To disable it, see our documentation.

tcarmelveilleux and others added 4 commits August 2, 2022 22:52
- Testing with Cirque requires complex setup and it is not easy to add
  tests.
- Testing with chip-repl is interactive only
- We needed a way to test more complex test scenarios than possible
  with chip-tool which cannot deal with complex test cases including recomputed
  cryptographic values due to complex logic and data dependencies.

This PR:

- Uses existing Mobly test framework dependency to add capabilities to
  make freestanding tests (see `src/python_testing/hello_test.py`)
- Adds a module that only depends on existing CHIP modules in the virtual
  environment to provide needed scaffolding for tests running, including
  being able to commission a device from the command line
- Adds needed cryptographic dependencies to environment for upcoming tests
- Adds an example test (`hello_test.py`)
- Added support to Python ChipDeviceCtrl to do on-network commissioning
  (thanks @erjiaqing!)

What will follow-up:
- Better docs
- More sample tests
- A way to re-use credentials from chip-tool with Python (already WIP)

Testing done:
- Built a test for TC-DA-1.7 (not included here) and ran it successfully against
  an all-clusters-app
- Unit tests still pass
- Integration tests still pass
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants