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: test_frozen fails on 3.4.0rc1, windows
Type: behavior Stage: resolved
Components: Interpreter Core, Tests Versions: Python 3.4
process
Status: closed Resolution: not a bug
Dependencies: Superseder:
Assigned To: Nosy List: brett.cannon, eric.snow, loewis, r.david.murray, terry.reedy
Priority: normal Keywords:

Created on 2014-02-11 11:31 by terry.reedy, last changed 2022-04-11 14:57 by admin. This issue is now closed.

Messages (6)
msg210921 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2014-02-11 11:31
Installed 3.4.0c1:
C:\Programs\Python34.32>python -m test test_frozen
[1/1] test_frozen
test test_frozen failed -- Traceback (most recent call last):
  File "C:\Programs\Python34.32\lib\test\test_frozen.py", line 23, in test_frozen
    self.assertEqual(set(dir(__hello__)), expect)
AssertionError: Items in the first set but not the second:
'__spec__'
Items in the second set but not the first:
'__cached__'

This was noted in #18864 by Eric Snow about 70 days ago in msg203340 but seems to have been lost. I think it needs a separate issue so it does not get lost and so the failing test might temporarily be disabled while there is a corresponding open issue.

On freshly compiled 3.4.0c1+, I have a separate problem:

F:\Python\dev>4\py34\pcbuild\python_d.exe -m test test_frozen
[1/1] test_frozen
test test_frozen crashed -- Traceback (most recent call last):
  File "F:\Python\dev\4\py34\lib\test\regrtest.py", line 1271, in runtest_inner
    the_module = importlib.import_module(abstest)
  File "F:\Python\dev\4\py34\lib\importlib\__init__.py", line 104, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 2230, in _gcd_import
  File "<frozen importlib._bootstrap>", line 2213, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2200, in _find_and_load_unlocked
ImportError: No module named 'test.test_frozen'

Indeed, it is not there and hg does not report anything amiss.
msg210928 - (view) Author: R. David Murray (r.david.murray) * (Python committer) Date: 2014-02-11 12:00
It was removed as part of 07229c6104b1 by Eric.  Perhaps importlib itself is now considered a sufficient test of freezing a module?  (I'm not sure that automatically follows, myself.)  So the interesting question is why there is a copy in an installed version of 0c1.  Is it possible it is left over from a previous install, or did you start with clean directories?
msg210931 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2014-02-11 12:25
Since I normally install the 64-bit versions, but 64 bit 0c1 will not install, I put the 32 bit version in a new .32 (bit) directory. I had the same issue with test_importhooks #20593: present and failed in the installation, missing from the repository. It it also supposed to be gone?
msg210932 - (view) Author: R. David Murray (r.david.murray) * (Python committer) Date: 2014-02-11 12:34
Yes (see 176fe1f8496f).  (By the way, I don't know if you can do this in your GUI, but how I found the revision was by doing 

  hg log -r "removes(Lib/test/test_importhooks.py)"

which recipe I found via google.)

So, it sounds like something may be wrong with the installer?
msg210934 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2014-02-11 12:55
The installer doesn't contain a test_frozen file, and I get

[1/1] test_frozen
test test_frozen crashed -- Traceback (most recent call last):
  File "C:\Python34\lib\test\regrtest.py", line 1271, in runtest_inner
    the_module = importlib.import_module(abstest)
  File "C:\Python34\lib\importlib\__init__.py", line 104, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 2230, in _gcd_import
  File "<frozen importlib._bootstrap>", line 2213, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2200, in _find_and_load_unlocked
ImportError: No module named 'test.test_frozen'

1 test failed:
    test_frozen

when running Terry's command.

Terry, are you sure the installation directory was empty before you started the installation?
msg210956 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2014-02-11 16:02
Since the installation created a new directory, it had to be empty at the moment of creation. However, this was both after the failed installation of 64-bit .0c1 on top of existing 64 bit .0b3 (in the Python34 directory originally used for 3.4.0a1) and before a subsequent retry and re-failure and re-rollback of the 64-bit version. On the hypothesis that msi got confused in all of this and somehow copied the file from one directory to another (or a cosmis ray hit ;-), I uninstalled both bit versions and deleted both directories and started fresh as far as 3.4 and my C: drive are concerned. After installing in this condition, neither test_frozen nor test_importhooks are present.

Sorry for the noise. Next time someone reports inexplicable installation problems on python-list, perhaps I will remember to ask if they started completely fresh, as I just did.
History
Date User Action Args
2022-04-11 14:57:58adminsetgithub: 64791
2014-02-11 16:02:40terry.reedysetstatus: open -> closed
resolution: not a bug
messages: + msg210956

stage: needs patch -> resolved
2014-02-11 12:55:49loewissetmessages: + msg210934
2014-02-11 12:34:10r.david.murraysetnosy: + loewis
messages: + msg210932
2014-02-11 12:25:00terry.reedysetmessages: + msg210931
2014-02-11 12:00:41r.david.murraysetnosy: + r.david.murray
messages: + msg210928
2014-02-11 11:31:09terry.reedycreate