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.

classification
Title: ttk: GUI tests fail on Ubuntu
Type: behavior Stage: needs patch
Components: Tests, Tkinter Versions: Python 3.7
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: DahlitzFlorian, cheryl.sabella, serhiy.storchaka, terry.reedy
Priority: normal Keywords:

Created on 2017-06-25 19:02 by cheryl.sabella, last changed 2022-04-11 14:58 by admin.

Messages (4)
msg296835 - (view) Author: Cheryl Sabella (cheryl.sabella) * (Python committer) Date: 2017-06-25 19:02
Running the tests over up to date build on Ubuntu 16.04 64-bit.

./python -m test.test_ttk_guionly -v


Sometimes this runs without failure and sometimes it 'hangs' and then produces failures.  When it hangs, my computer freezes completely.  As you can see, it can run for 8 minutes.

It seems to hang most often on test_idenify in EntryTest.

Here's one set of failures:

======================================================================
FAIL: test_identify (tkinter.test.test_ttk.test_widgets.EntryTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/cheryl/cpython/Lib/tkinter/test/test_ttk/test_widgets.py", line 332, in test_identify
    self.assertEqual(self.entry.identify(5, 5), "textarea")
AssertionError: '' != 'textarea'
+ textarea

======================================================================
FAIL: test_get (tkinter.test.test_ttk.test_widgets.ScaleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/cheryl/cpython/Lib/tkinter/test/test_ttk/test_widgets.py", line 807, in test_get
    self.assertEqual(self.scale.get(scale_width, 0), self.scale['to'])
AssertionError: 0.0 != 1.0

======================================================================
FAIL: test_set (tkinter.test.test_ttk.test_widgets.ScaleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/cheryl/cpython/Lib/tkinter/test/test_ttk/test_widgets.py", line 849, in test_set
    self.assertEqual(conv(self.scale.get(self.scale.winfo_width(), 0)), max)
AssertionError: 0.0 != 1.0

======================================================================
FAIL: test_identify (tkinter.test.test_ttk.test_widgets.WidgetTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/cheryl/cpython/Lib/tkinter/test/test_ttk/test_widgets.py", line 71, in test_identify
    ), "label")
AssertionError: '' != 'label'
+ label

----------------------------------------------------------------------
Ran 272 tests in 491.572s

FAILED (failures=4)



Here's another set from a different run:

======================================================================
FAIL: test_get (tkinter.test.test_ttk.test_widgets.ScaleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/cheryl/cpython/Lib/tkinter/test/test_ttk/test_widgets.py", line 807, in test_get
    self.assertEqual(self.scale.get(scale_width, 0), self.scale['to'])
AssertionError: 0.0 != 1.0

======================================================================
FAIL: test_set (tkinter.test.test_ttk.test_widgets.ScaleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/cheryl/cpython/Lib/tkinter/test/test_ttk/test_widgets.py", line 849, in test_set
    self.assertEqual(conv(self.scale.get(self.scale.winfo_width(), 0)), max)
AssertionError: 0.0 != 1.0

======================================================================
FAIL: test_identify (tkinter.test.test_ttk.test_widgets.WidgetTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/cheryl/cpython/Lib/tkinter/test/test_ttk/test_widgets.py", line 71, in test_identify
    ), "label")
AssertionError: '' != 'label'
+ label

======================================================================
FAIL: test_horizontal_range (tkinter.test.test_ttk.test_extensions.LabeledScaleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/cheryl/cpython/Lib/tkinter/test/test_ttk/test_extensions.py", line 122, in test_horizontal_range
    self.assertEqual(prev_xcoord, int(linfo_1['x']))
AssertionError: 16 != 1

----------------------------------------------------------------------
Ran 272 tests in 353.180s

FAILED (failures=4)
msg296843 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2017-06-26 04:18
My Win 10 machine consistently runs 272 tests OK in 3 seconds.
msg369717 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2020-05-23 14:09
#40722 is about a hang, at least once, on line 147

    def test_variable_change(self):
        x = ttk.LabeledScale(self.root)
        x.pack()
        x.wait_visibility()  # Here.
msg369722 - (view) Author: Florian Dahlitz (DahlitzFlorian) * Date: 2020-05-23 14:22
I'm on Ubuntu 20.04 64-bit, ran the command provided and got

  Ran 303 tests in 18.900s
  
  OK

I was running against the master branch.
History
Date User Action Args
2022-04-11 14:58:48adminsetgithub: 74941
2020-05-23 14:22:52DahlitzFloriansetnosy: + DahlitzFlorian
messages: + msg369722
2020-05-23 14:09:00terry.reedysetmessages: + msg369717
2017-06-26 04:18:47terry.reedysettype: behavior
stage: needs patch
2017-06-26 04:18:26terry.reedysetmessages: + msg296843
2017-06-26 03:03:34louielusetcomponents: + Tkinter
title: GUI tests fail on Ubuntu -> ttk: GUI tests fail on Ubuntu
2017-06-25 19:02:20cheryl.sabellacreate