Skip to content

test(project): guard that protocol docs pages list members in class source order #2780

Closed

Description

@JarryShaw

What
#2779 realigns the member directives on the protocol .rst pages to class source order. Nothing checks that they stay that way, so the next member move can silently desync a page again. The owner chose this follow-up on #2772.

Proposal
A project test that compares, for each protocol docs page, the order of its automethod/autoattribute/autoproperty directives with the class source order, over the members the page lists. The Protocol page is exempt, since it documents ProtocolBase's members (#2772, item 3). The test must fail on a deliberate swap and pass on main after #2779.

Additional context
This is test-only. It is blocked until #2779 merges, because before then the pages are out of order on main.

Activity

  1. added
    testPull requests that add or correct tests (test: subject prefix)
    blockedDeferred pending another issue or decision; see the last comment for what unblocks it
    on Nov 4, 2026
  2. JarryShaw commented on Nov 4, 2026

    @JarryShaw
    OwnerAuthor

    Blocked: this unblocks when #2779 merges (gh pr view 2779 --json state -q .state prints MERGED). Until then the pages are out of order on main.

  3. added this to the PyPCAPKit v1.6 milestone on Nov 4, 2026
  4. moved this to Blocked in PyPCAPKiton Nov 4, 2026
  5. added
    wipWork in flight - a covering PR is open or an agent is actively on it
    and removed
    blockedDeferred pending another issue or decision; see the last comment for what unblocks it
    on Nov 4, 2026
  6. JarryShaw commented on Nov 4, 2026

    @JarryShaw
    OwnerAuthor

    Unblocked: #2779 merged (c5b9c54e8), so the protocol pages are in source order on main. A worker is writing the guard now. It is test-only, so it goes straight to main.

  7. moved this from Blocked to WIP in PyPCAPKiton Nov 4, 2026
  8. JarryShaw commented on Nov 4, 2026

    @JarryShaw
    OwnerAuthor

    Landed on main as 3d45352c1. It is test-only, so it was pushed direct. tests/project/test_docs_protocol_member_order_2780_unit.py checks every protocol docs page's member directives against class source order.

    I checked it with a mutation of my own: swapping two ipv4.rst directives makes it fail and name both members. It passes on main, under 3.14 and 3.8.

  9. removed
    wipWork in flight - a covering PR is open or an agent is actively on it
    on Nov 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    testPull requests that add or correct tests (test: subject prefix)

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions