Skip to content

test: cover zero limit in Arrow.range - #1394

Open
renanmpimentel wants to merge 1 commit into
arrow-py:masterfrom
renanmpimentel:test/range-zero-limit
Open

renanmpimentel wants to merge 1 commit into
arrow-py:masterfrom
renanmpimentel:test/range-zero-limit

Conversation

@renanmpimentel

@renanmpimentel renanmpimentel commented Oct 22, 2026 •

Copy link
Copy Markdown

Pull Request Checklist

  • 🧪 Added tests for changed code.
  • 🛠️ Local tests pass (pytest: 1,905 tests).
  • 🧹 Local lint checks pass (Black, isort, flake8).
  • 📚 Documentation updated (no public API or documented behavior changed).
  • ⏩ Code is up-to-date with master (not verified after submission).

Description of Changes

Treating limit=0 as an omitted limit would yield dates instead of an empty iterator. The new test protects both Arrow.range forms, including the explicit-end branch that old tests missed.

Supertest audit method

I used the Supertest test-audit skill to probe whether the existing suite would catch a plausible violation of this contract. The regression was applied only in an isolated worktree. The regression proof records three executed states: the existing tests pass with that regression, the new assertion fails against the same regression, and the new test passes with the original production code restored. The published diff adds tests only.

Adds regression coverage for Arrow.range(..., limit=0) with and without an explicit end. A maximum result count of zero should produce an empty iterator in both forms.

Proof: treating a falsy limit as omitted in the explicit-end branch leaves all 1,904 existing tests passing, but the new test fails because it produces three dates. With production code restored, 1,905 tests pass at 99.93% coverage. Black, isort, flake8, mypy, compileall, and git diff --check pass.

This PR changes tests only.

Repository guidance and CI

The repository PR checklist is included above. Local pytest, Black, isort, flake8 and mypy passed. Three CI jobs currently fail before executing this test during interpreter or dependency setup; they are not marked as passed.

@codecov

codecov Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (2224255) to head (64b234e).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@            Coverage Diff            @@
##            master     #1394   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           10        10           
  Lines         2315      2315           
  Branches       358       358           
=========================================
  Hits          2315      2315           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

This branch has not been deployed

No deployments
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.

1 participant