python / cpython

The Python programming language
https://www.python.org/
Other
61.47k stars 29.61k forks source link

ttk: GUI tests fail on Ubuntu #74941

Open csabella opened 7 years ago

csabella commented 7 years ago
BPO 30756
Nosy @terryjreedy, @serhiy-storchaka, @csabella, @DahlitzFlorian

Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

Show more details

GitHub fields: ```python assignee = None closed_at = None created_at = labels = ['3.7', 'tests', 'type-bug', 'expert-tkinter'] title = 'ttk: GUI tests fail on Ubuntu' updated_at = user = 'https://github.com/csabella' ``` bugs.python.org fields: ```python activity = actor = 'DahlitzFlorian' assignee = 'none' closed = False closed_date = None closer = None components = ['Tests', 'Tkinter'] creation = creator = 'cheryl.sabella' dependencies = [] files = [] hgrepos = [] issue_num = 30756 keywords = [] message_count = 4.0 messages = ['296835', '296843', '369717', '369722'] nosy_count = 4.0 nosy_names = ['terry.reedy', 'serhiy.storchaka', 'cheryl.sabella', 'DahlitzFlorian'] pr_nums = [] priority = 'normal' resolution = None stage = 'needs patch' status = 'open' superseder = None type = 'behavior' url = 'https://bugs.python.org/issue30756' versions = ['Python 3.7'] ```

csabella commented 7 years ago

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)

terryjreedy commented 7 years ago

My Win 10 machine consistently runs 272 tests OK in 3 seconds.

terryjreedy commented 4 years ago

bpo-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.
b9a2d068-c1e2-4a8c-9112-da398139595b commented 4 years ago

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.