From 1f16df4bfe5cfbe4ac40cc9c6d15f44bcfd99a64 Mon Sep 17 00:00:00 2001 From: sobolevn Date: Wed, 30 Oct 2024 17:14:22 +0300 Subject: [PATCH] gh-125669: Do not run `-ugui` tests by default on `make test` (#125730) Adds `make ci` target for use in CI and keeping `make test` for the local development. --- .github/workflows/build.yml | 2 +- .github/workflows/reusable-macos.yml | 2 +- .github/workflows/reusable-ubuntu.yml | 2 +- Doc/using/configure.rst | 10 +++++++++- Makefile.pre.in | 6 ++++++ .../2024-10-21-14-10-56.gh-issue-125730.kcWbvI.rst | 2 ++ 6 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 Misc/NEWS.d/next/Tests/2024-10-21-14-10-56.gh-issue-125730.kcWbvI.rst diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d1e9fff37d3c2d..083b07156674df 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -468,7 +468,7 @@ jobs: - name: Display build info run: make pythoninfo - name: Tests - run: xvfb-run make test + run: xvfb-run make ci build_tsan: name: 'Thread sanitizer' diff --git a/.github/workflows/reusable-macos.yml b/.github/workflows/reusable-macos.yml index bfa5f69defb87c..915481d0737c7d 100644 --- a/.github/workflows/reusable-macos.yml +++ b/.github/workflows/reusable-macos.yml @@ -69,4 +69,4 @@ jobs: --fail-on-improvement --path-prefix="./" - name: Tests - run: make test + run: make ci diff --git a/.github/workflows/reusable-ubuntu.yml b/.github/workflows/reusable-ubuntu.yml index 18e2e471e60e8d..f0ca6a9e7ed793 100644 --- a/.github/workflows/reusable-ubuntu.yml +++ b/.github/workflows/reusable-ubuntu.yml @@ -105,4 +105,4 @@ jobs: run: sudo mount "$CPYTHON_RO_SRCDIR" -oremount,rw - name: Tests working-directory: ${{ env.CPYTHON_BUILDDIR }} - run: xvfb-run make test + run: xvfb-run make ci diff --git a/Doc/using/configure.rst b/Doc/using/configure.rst index 0e7b1be5b4bc2e..83994af795e3fc 100644 --- a/Doc/using/configure.rst +++ b/Doc/using/configure.rst @@ -1142,13 +1142,21 @@ make test ^^^^^^^^^ Build the ``all`` target and run the Python test suite with the -``--fast-ci`` option. Variables: +``--fast-ci`` option without GUI tests. Variables: * ``TESTOPTS``: additional regrtest command-line options. * ``TESTPYTHONOPTS``: additional Python command-line options. * ``TESTTIMEOUT``: timeout in seconds (default: 10 minutes). +make ci +^^^^^^^ + +This is similar to ``make test``, but uses the ``-ugui`` to also run GUI tests. + +.. versionadded:: 3.14 + + make buildbottest ^^^^^^^^^^^^^^^^^ diff --git a/Makefile.pre.in b/Makefile.pre.in index db5bad8752e541..aa7fa4e29d84c2 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -2104,6 +2104,12 @@ cleantest: all # Similar to buildbottest, but use --fast-ci option, instead of --slow-ci. .PHONY: test test: all + $(TESTRUNNER) --fast-ci -u-gui --timeout=$(TESTTIMEOUT) $(TESTOPTS) + +# Run a basic set of regression tests inside the CI. +# This excludes some tests that are particularly resource-intensive. +# Similar to test, but also runs GUI tests. +ci: all $(TESTRUNNER) --fast-ci --timeout=$(TESTTIMEOUT) $(TESTOPTS) # Run the test suite for both architectures in a Universal build on OSX. diff --git a/Misc/NEWS.d/next/Tests/2024-10-21-14-10-56.gh-issue-125730.kcWbvI.rst b/Misc/NEWS.d/next/Tests/2024-10-21-14-10-56.gh-issue-125730.kcWbvI.rst new file mode 100644 index 00000000000000..061a1f9f27599c --- /dev/null +++ b/Misc/NEWS.d/next/Tests/2024-10-21-14-10-56.gh-issue-125730.kcWbvI.rst @@ -0,0 +1,2 @@ +Change ``make test`` to not run GUI tests by default. Use ``make ci`` to run +tests with GUI tests instead.