From 8b2ce03c688c8e3fa2e72c4c5cd09af8efd87368 Mon Sep 17 00:00:00 2001 From: Stan Ulbrych Date: Thu, 27 Aug 2026 14:53:38 +0100 Subject: [PATCH] gh-111735: Skip `turtle` doctests when `_tkinter` is not available (GH-156417) (cherry picked from commit eb089020696e451e64a51534726efa80dcbdc902) Co-authored-by: Stan Ulbrych --- Doc/library/turtle.rst | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/Doc/library/turtle.rst b/Doc/library/turtle.rst index 49099aea4152c14..5dc083c12ccce2b 100644 --- a/Doc/library/turtle.rst +++ b/Doc/library/turtle.rst @@ -8,11 +8,13 @@ **Source code:** :source:`Lib/turtle.py` .. testsetup:: default + :skipif: _tkinter is None from turtle import * turtle = Turtle() .. testcleanup:: + :skipif: _tkinter is None import os os.remove("my_drawing.ps") @@ -510,6 +512,7 @@ Turtle motion turtle is headed. Do not change the turtle's heading. .. doctest:: + :skipif: _tkinter is None :hide: >>> turtle.goto(0, 0) @@ -852,6 +855,7 @@ Turtle motion last *n* stamps. .. doctest:: + :skipif: _tkinter is None >>> for i in range(8): ... unused_stamp_id = turtle.stamp() @@ -1409,8 +1413,11 @@ More drawing control font. If *move* is true, the pen is moved to the bottom-right corner of the text. By default, *move* is ``False``. - >>> turtle.write("Home = ", True, align="center") - >>> turtle.write((0,0), True) + .. doctest:: + :skipif: _tkinter is None + + >>> turtle.write("Home = ", True, align="center") + >>> turtle.write((0,0), True) Turtle state @@ -1447,12 +1454,15 @@ Visibility Return ``True`` if the Turtle is shown, ``False`` if it's hidden. - >>> turtle.hideturtle() - >>> turtle.isvisible() - False - >>> turtle.showturtle() - >>> turtle.isvisible() - True + .. doctest:: + :skipif: _tkinter is None + + >>> turtle.hideturtle() + >>> turtle.isvisible() + False + >>> turtle.showturtle() + >>> turtle.isvisible() + True Appearance @@ -1983,6 +1993,9 @@ Window control method, one can make visible those parts of a drawing which were outside the canvas before. + .. doctest:: + :skipif: _tkinter is None + >>> screen.screensize() (400, 300) >>> screen.screensize(2000,1500)