classification
Title: Cannot run gui tests twice.
Type: behavior Stage: resolved
Components: Tests, Tkinter Versions: Python 3.4, Python 3.5, Python 2.7
process
Status: closed Resolution: out of date
Dependencies: Superseder:
Assigned To: Nosy List: Saimadhav.Heblikar, ned.deily, serhiy.storchaka, terry.reedy
Priority: normal Keywords:

Created on 2014-02-28 00:06 by terry.reedy, last changed 2018-12-12 08:04 by terry.reedy. This issue is now closed.

Messages (10)
msg212397 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2014-02-28 00:06
After the fix for #20567, running test_idle and then test_ttk_guionly works, but running either after itself does not. Example command and output, which is same running with installed 3.4.0rc1 (Feb 11) or fresh debug build.

F:\Python\dev> 4\py34\pcbuild\python_d.exe -m test -ugui test_ttk_guionly test_ttk_guionly
[1/2] test_ttk_guionly
Warning -- os.environ was modified by test_ttk_guionly
[2/2] test_ttk_guionly
test test_ttk_guionly crashed -- Traceback (most recent call last):
  File "F:\Python\dev\4\py34\lib\test\test_ttk_guionly.py", line 35, in test_main
    *runtktests.get_tests(text=False, packages=['test_ttk']))
  File "F:\Python\dev\4\py34\lib\test\support\__init__.py", line 1719, in run_unittest
    _run_suite(suite)
  File "F:\Python\dev\4\py34\lib\test\support\__init__.py", line 1694, in _run_suite
    raise TestFailed(err)
test.support.TestFailed: multiple errors occurred; run in verbose mode for details

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "F:\Python\dev\4\py34\lib\test\regrtest.py", line 1278, in runtest_inner
    test_runner()
  File "F:\Python\dev\4\py34\lib\test\test_ttk_guionly.py", line 37, in test_main
    get_tk_root().destroy()
  File "F:\Python\dev\4\py34\lib\tkinter\test\support.py", line 60, in get_tk_root
    root = tkinter.Tk()
  File "F:\Python\dev\4\py34\lib\tkinter\__init__.py", line 1807, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: Can't find a usable init.tcl in the following directories:
    F:/Python/dev/4/py34/lib/tcl8.6 F:/Python/dev/4/py34/lib/tcl8.6 F:/Python/dev/4/lib/tcl8.6 F:/Python/dev/4/py34/library F:/Python/dev/4/library F:/Python/dev/4/tcl8.6.1/library F:/Python/dev/tcl8.6.1/library

init.tcl *is* in 4/tcl8.6.1.0/library and 4/tcltk/tcl8.6/lib. I believe it is usually found in the latter.

This might be Windows only.
msg212400 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2014-02-28 00:44
The "Warning -- os.environ was modified by test_ttk_guionly" looks suspicious.  Does the patch for Issue20035 help?
msg212401 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2014-02-28 01:53
The #20035 patch removes the warning but the rest is the same.
msg212402 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2014-02-28 01:59
What happens if you add -v (verbose) "... -m test -v -ugui ..." to find the failing tests?
msg212404 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2014-02-28 02:54
With 3.3 and the patch still applied, all 13 test methods fail with tracebacks that end with the _tkinter.create call, as above. For Idle, there are 3 tracebacks for the 3 modules with gui tests.
msg219529 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2014-06-01 21:55
For what it's worth, I don't see the problem on OS X (haven't tried it recently on a Linux system), so it might be a Windows only issue. It's become clearer that some test combinations can only be safely run with the regrtest -j option to run them as separate subprocesses. I Does "-m test -j2 -ugui test_ttk_guionly test_ttk_guionly" help?
msg219548 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2014-06-02 05:44
Does recent patch for issue20035 help?
msg219591 - (view) Author: Saimadhav Heblikar (Saimadhav.Heblikar) * Date: 2014-06-02 14:40
From Ned Deily's message.
>>haven't tried it recently on a Linux system

Output from a linux syste:

./python -m test  -ugui test_ttk_guionly test_ttk_guionly test_idle test_idle
[1/4] test_ttk_guionly
[2/4] test_ttk_guionly
[3/4] test_idle
[4/4] test_idle
All 4 tests OK.

So it confirms as a windows issue. Unfortunately, that's all I have to offer on this issue ATM.
msg331672 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2018-12-12 06:28
I have just tested on Windows and all works to me. Terry, can you confirm that this issue is gone?
msg331676 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2018-12-12 08:04
Either test repeated works now.
History
Date User Action Args
2018-12-12 08:04:08terry.reedysetstatus: open -> closed
resolution: out of date
messages: + msg331676

stage: needs patch -> resolved
2018-12-12 06:28:27serhiy.storchakasetmessages: + msg331672
2014-06-02 14:40:30Saimadhav.Heblikarsetnosy: + Saimadhav.Heblikar
messages: + msg219591
2014-06-02 05:44:12serhiy.storchakasetmessages: + msg219548
2014-06-01 21:55:23ned.deilysetmessages: + msg219529
2014-06-01 21:46:58terry.reedysetversions: + Python 3.5, - Python 3.3
2014-02-28 02:54:51terry.reedysetmessages: + msg212404
2014-02-28 01:59:49ned.deilysetmessages: + msg212402
2014-02-28 01:53:32terry.reedysetmessages: + msg212401
2014-02-28 00:44:28ned.deilysetnosy: + ned.deily
messages: + msg212400
2014-02-28 00:06:01terry.reedycreate