This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients cheryl.sabella, miss-islington, taleinat, terry.reedy, vstinner
Date 2019-01-14.09:15:08
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1547457308.68.0.484609986154.issue35730@roundup.psfhosted.org>
In-reply-to
Content
https://buildbot.python.org/all/#/builders/108/builds/895/steps/5/logs/stdio
https://buildbot.python.org/all/#/builders/115/builds/888/steps/4/logs/stdio

======================================================================
FAIL: test_reload (idlelib.idle_test.test_squeezer.SqueezerTest)
Test the reload() class-method.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/buildbot/buildarea/cpython/3.7.ware-gentoo-x86.installed/build/target/lib/python3.7/idlelib/idle_test/test_squeezer.py", line 310, in test_reload
    self.assertGreater(squeezer.zero_char_width, orig_zero_char_width)
AssertionError: 6 not greater than 6


> Two debug prints that might help: the tk patch level (does Gentoo have something ancient?); the actual font and in particular the actual size resulting from ('Courier', 10/20).

The pythoninfo step of the buildbot says:

tkinter.TCL_VERSION: 8.6
tkinter.TK_VERSION: 8.6
tkinter.info_patchlevel: 8.6.8

--

The test pass (at revision 47bd7770229b5238a438703ee1d52da2e983ec9e, before you disabled the test) on my Fedora 29. I enabled all test resources using "-u all". I have the same Tkinter version:

$ ./python -m test -u all test_idle -m test_reload -v
== CPython 3.7.2+ (tags/v3.7.2-112-g47bd777022:47bd777022, Jan 14 2019, 10:12:33) [GCC 8.2.1 20181215 (Red Hat 8.2.1-6)]
== Linux-4.19.13-300.fc29.x86_64-x86_64-with-fedora-29-Twenty_Nine little-endian
== cwd: /home/vstinner/prog/python/master/build/test_python_3006
== CPU count: 8
== encodings: locale=UTF-8, FS=utf-8
Run tests sequentially
0:00:00 load avg: 1.23 [1/1] test_idle
test_reload (idlelib.idle_test.test_codecontext.CodeContextTest) ... ok
test_reload (idlelib.idle_test.test_squeezer.SqueezerTest)
Test the reload() class-method. ... ok

----------------------------------------------------------------------

Ran 2 tests in 0.069s

OK

== Tests result: SUCCESS ==

1 test OK.

Total duration: 1 sec 344 ms
Tests result: SUCCESS

vstinner@apu$ make pythoninfo|grep ^tk
tkinter.TCL_VERSION: 8.6
tkinter.TK_VERSION: 8.6
tkinter.info_patchlevel: 8.6.8

--

The test rely on a specific font name and specific font size: maybe this specific font is not available. Instead of skipping the test, would it make same to accept that squeezer.zero_char_width does not change? I don't know IDLE nor the test.

diff --git a/Lib/idlelib/idle_test/test_squeezer.py b/Lib/idlelib/idle_test/test_squeezer.py
index 7c28a107a9..0d4467af0a 100644
--- a/Lib/idlelib/idle_test/test_squeezer.py
+++ b/Lib/idlelib/idle_test/test_squeezer.py
@@ -307,7 +307,7 @@ class SqueezerTest(unittest.TestCase):
             str(new_auto_squeeze_min_lines))
 
         Squeezer.reload()
-        self.assertGreater(squeezer.zero_char_width, orig_zero_char_width)
+        self.assertGreaterEqual(squeezer.zero_char_width, orig_zero_char_width)
         self.assertEqual(squeezer.auto_squeeze_min_lines,
                          new_auto_squeeze_min_lines)
History
Date User Action Args
2019-01-14 09:15:10vstinnersetrecipients: + vstinner, terry.reedy, taleinat, cheryl.sabella, miss-islington
2019-01-14 09:15:08vstinnersetmessageid: <1547457308.68.0.484609986154.issue35730@roundup.psfhosted.org>
2019-01-14 09:15:08vstinnerlinkissue35730 messages
2019-01-14 09:15:08vstinnercreate