python / python/cpython

Support `<LITERAL ELLIPSIS>` in `doctest` module

Open
#142,942 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

stdlib type-feature
Dominant language
Python
Stars
77.2k
Forks
35.9k
PR merge metrics
PR metrics pending

Description

Feature or enhancement

Proposal:

Currently, with # doctest: +ELLIPSIS, a ... can match anything. Sometimes, we want to test that a test matches a literal ellipsis.

I propose something similar to <LITERAL ELLIPSIS>. Possibly guarded behind another doctest flag.

'''
>>> '123...456' # doctest: +ELLIPSIS
'123<LITERAL ELLIPSIS>456'
'''

Motivation: SageMath doctest. See https://github.com/sagemath/sage/pull/41276, https://github.com/sagemath/sage/pull/41182.

Has this already been discussed elsewhere?

This is a minor feature, which does not need previous discussion elsewhere

Links to previous discussion of this feature:

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the doctest module and its existing ELLIPSIS handling. Determine how a literal ellipsis marker should be specified and whether a separate doctest flag is needed, then add regression coverage showing that the proposed marker matches literal ellipses while ordinary ellipsis matching still works.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
testing-qa
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.