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

gh-104683: Rename clinic.test => clinic.test.c #106443

Merged

Conversation

erlend-aasland
Copy link
Contributor

@erlend-aasland erlend-aasland commented Jul 5, 2023

@AlexWaygood
Copy link
Member

Might be worth backporting this; it'll reduce the risk of merge conflicts in future backport PRs

@erlend-aasland erlend-aasland added needs backport to 3.11 only security fixes needs backport to 3.12 bug and security fixes labels Jul 5, 2023
@erlend-aasland erlend-aasland enabled auto-merge (squash) July 5, 2023 08:19
@erlend-aasland erlend-aasland merged commit a941bd6 into python:main Jul 5, 2023
20 checks passed
@miss-islington
Copy link
Contributor

Thanks @erlend-aasland for the PR 🌮🎉.. I'm working now to backport this PR to: 3.11, 3.12.
🐍🍒⛏🤖

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Jul 5, 2023
pythonGH-106443)

(cherry picked from commit a941bd6)

Co-authored-by: Erlend E. Aasland <erlend@python.org>
@bedevere-bot
Copy link

GH-106444 is a backport of this pull request to the 3.12 branch.

@bedevere-bot bedevere-bot removed the needs backport to 3.12 bug and security fixes label Jul 5, 2023
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Jul 5, 2023
pythonGH-106443)

(cherry picked from commit a941bd6)

Co-authored-by: Erlend E. Aasland <erlend@python.org>
@bedevere-bot
Copy link

GH-106445 is a backport of this pull request to the 3.11 branch.

@bedevere-bot bedevere-bot removed the needs backport to 3.11 only security fixes label Jul 5, 2023
AlexWaygood pushed a commit that referenced this pull request Jul 5, 2023
….c (GH-106443) (#106444)

gh-104683: Rename Lib/test/clinic.test as Lib/test/clinic.test.c (GH-106443)
(cherry picked from commit a941bd6)

Co-authored-by: Erlend E. Aasland <erlend@python.org>
AlexWaygood pushed a commit that referenced this pull request Jul 5, 2023
….c (GH-106443) (#106445)

gh-104683: Rename Lib/test/clinic.test as Lib/test/clinic.test.c (GH-106443)
(cherry picked from commit a941bd6)

Co-authored-by: Erlend E. Aasland <erlend@python.org>
@erlend-aasland erlend-aasland deleted the clinic/rename-clinic.test branch July 5, 2023 09:16
carljm added a commit to carljm/cpython that referenced this pull request Jul 5, 2023
* main: (39 commits)
  pythongh-102542 Remove unused bytes object and bytes slicing (python#106433)
  Clarify state of CancelledError in doc (python#106453)
  pythongh-64595: Fix regression in file write logic in Argument Clinic (python#106449)
  pythongh-104683: Rename Lib/test/clinic.test as Lib/test/clinic.test.c (python#106443)
  tp_flags docs: fix indentation (python#106420)
  pythongh-104050: Partially annotate Argument Clinic CLanguage class (python#106437)
  pythongh-106368: Add tests for formatting helpers in Argument Clinic (python#106415)
  pythongh-104050: Annotate Argument Clinic parameter permutation helpers (python#106431)
  pythongh-104050: Annotate toplevel functions in clinic.py (python#106435)
  pythongh-106320: Fix specialize.c compilation by including pycore_pylifecycle.h (python#106434)
  Add some codeowners for `Tools/clinic/` (python#106430)
  pythongh-106217: Truncate the issue body size of `new-bugs-announce-notifier` (python#106423)
  pythongh-61215: Rename `wait_until_any_call` to `wait_until_any_call_with` (python#106414)
  pythongh-106162: array: suppress warning in test_array (python#106404)
  pythongh-106320: Remove _PyInterpreterState_HasFeature() (python#106425)
  pythonGH-106360: Support very basic superblock introspection (python#106422)
  pythongh-106406: Fix _Py_IsInterpreterFinalizing() in _winapi.c (python#106408)
  pythongh-106396: Special-case empty format spec to gen empty JoinedStr node (python#106401)
  pythongh-106368: Add tests for permutation helpers in Argument Clinic (python#106407)
  pythonGH-106008: Fix refleak when peepholing `None` comparisons (python#106367)
  ...
@serhiy-storchaka
Copy link
Member

I intentionally made this file having extension different from .c, so clinic.py --make will not regenerate it.

It makes regenerating it inconvenient, but on other hand, it prevents unintentional regeneration. Otherwise the breaking changes in clinic.py can pass unnoticed, because make clinic is ran before clinic tests.

@erlend-aasland
Copy link
Contributor Author

There was consensus on the core dev Discord for this change.

@erlend-aasland
Copy link
Contributor Author

Ideally, I would like to get rid of clinic.test.c, and move all those test to _testclinic.c, to make sure the generated code actually works as expected in Python.

@erlend-aasland
Copy link
Contributor Author

It makes regenerating it inconvenient, but on other hand, it prevents unintentional regeneration. Otherwise the breaking changes in clinic.py can pass unnoticed, because make clinic is ran before clinic tests.

IMO, a better option is to add an --exclude option to the clinic CLI and explicitly exclude that file when running make clinic.

@erlend-aasland
Copy link
Contributor Author

See #107770 for my suggestion to preserve make clinic behaviour.

@serhiy-storchaka
Copy link
Member

Initially I introduced Lib/test/clinic.test as a temporary solution, because I was not very familiar with the AC code and did not know how to use it programmatically to generate only an interesting part of output (I still does not know this). clinic.test contains a lot of generated noise unrelated to a purpose of specific test. For example all these ugly struct initializers for _kwtuple and _parser take too much space.

My hope is that someday someone (maybe you, maybe me) will turn most or all of these tests into proper unit tests.

@erlend-aasland
Copy link
Contributor Author

It sounds to me that your intention harmonises with my desire to turn clinic.test.c into functional tests. So we agree, I think.

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.

5 participants