Skip to content

Conversation

@TejasAnalyst
Copy link

@TejasAnalyst TejasAnalyst commented Jan 24, 2026

Description

This PR fixes a typo in tests/test_spi.py and tests/test_uart.py where PWM_FREQUENCY was misspelled as PWM_FERQUENCY.

Changes

  • Renamed PWM_FERQUENCY to PWM_FREQUENCY.
  • Fixed a TypeError caused by the original assignment logic (SPIMaster._frequency * 2 / 3). Since _frequency is a method, multiplying it directly caused a crash during testing.
  • Replaced the erroneous formula with a static value (1000) which is sufficient for these test cases.

Verification

Ran local tests using pytest tests/test_spi.py tests/test_uart.py and confirmed they no longer raise TypeError.

Summary by Sourcery

Fix SPI and UART test configurations to use a correctly named PWM frequency constant and avoid runtime type errors.

Bug Fixes:

  • Correct a misspelled PWM_FERQUENCY constant to PWM_FREQUENCY in SPI and UART tests to align with expected naming.
  • Replace invalid frequency expressions that operated on methods with a fixed numeric PWM frequency to prevent TypeError during test execution.

Tests:

  • Standardize SPI and UART test PWM configuration to use a static PWM_FREQUENCY value suitable for the test scenarios.

@sourcery-ai
Copy link

sourcery-ai bot commented Jan 24, 2026

Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Tests for SPI and UART were updated to fix a misspelled PWM frequency constant and to replace incorrect, method-based frequency calculations with a simple static test frequency to avoid a TypeError and stabilize timing expectations.

File-Level Changes

Change Details Files
Standardized PWM frequency constant name and simplified its value to a static test frequency to avoid TypeError and make SPI/UART tests more robust.
  • Renamed the PWM frequency constant from a misspelled identifier to a correctly spelled one throughout the SPI test module.
  • Replaced the SPI test PWM frequency expression that incorrectly used a method object in arithmetic with a fixed numeric frequency value suitable for the tests.
  • Updated SPI test timing calculations to reference the new PWM frequency constant name.
  • Replaced the UART test PWM frequency expression with the same fixed numeric frequency value and updated all usages to the new constant name.
tests/test_spi.py
tests/test_uart.py

Possibly linked issues

  • #(not specified): PR corrects misuse of SPI/UART frequency attributes in tests, removing TypeErrors, and fixes PWM_FREQUENCY typo.

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Hey - I've left some high level feedback:

  • Instead of replacing the frequency expressions with a hard-coded 1000, consider fixing the underlying issue by using the correct API (e.g., calling SPIMaster._frequency() / UART._baudrate appropriately or exposing a public attribute) so the tests still reflect the actual configuration logic.
  • If a fixed test frequency is intentional, it would be clearer to derive it from the relevant SPI/UART parameters or define a single shared constant for PWM test frequency to avoid divergence from the real hardware values in multiple places.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- Instead of replacing the frequency expressions with a hard-coded 1000, consider fixing the underlying issue by using the correct API (e.g., calling `SPIMaster._frequency()` / `UART._baudrate` appropriately or exposing a public attribute) so the tests still reflect the actual configuration logic.
- If a fixed test frequency is intentional, it would be clearer to derive it from the relevant SPI/UART parameters or define a single shared constant for PWM test frequency to avoid divergence from the real hardware values in multiple places.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@TejasAnalyst
Copy link
Author

Thanks for the feedback!
The original code was raising a TypeError because SPIMaster._frequency is a method, and it was being multiplied by an integer at the module level without an instance.

Since we cannot call the instance method at this scope, I replaced it with a fixed value (1000) to ensure the test suite passes without crashing. This value is sufficient for the mocked tests.

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