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_os.py fails when run in docker container on OSX host
Type: behavior Stage: resolved
Components: Build Versions: Python 3.6
process
Status: closed Resolution: third party
Dependencies: Superseder:
Assigned To: Nosy List: ned.deily, thehesiod
Priority: normal Keywords:

Created on 2018-02-10 00:29 by thehesiod, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
test.py thehesiod, 2018-02-11 00:35
Messages (6)
msg311921 - (view) Author: Alexander Mohr (thehesiod) * Date: 2018-02-10 00:29
This test fails when run in a debian docker container from a OSX host with the following error:

test test_os failed -- Traceback (most recent call last):
  File "/build/Python-3.6.3/Lib/test/test_os.py", line 3273, in test_attributes
    self.check_entry(entry, 'dir', True, False, False)
  File "/build/Python-3.6.3/Lib/test/test_os.py", line 3228, in check_entry
    os.stat(entry.path, follow_symlinks=False).st_ino)
AssertionError: 3018467 != 1419357

works fine when run on ubuntu host.  If this is a docker problem I'd be happy to report there.
msg311924 - (view) Author: Alexander Mohr (thehesiod) * Date: 2018-02-10 00:45
btw there are some other tests that fail too after removing that test like:

test test_tokenize failed -- Traceback (most recent call last):
  File "/build/Python-3.6.3/Lib/test/test_tokenize.py", line 1557, in test_random_files
    testfiles.remove(os.path.join(tempdir, "test_%s.py") % f)
ValueError: list.remove(x): x not in list
msg311930 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2018-02-10 03:09
The test runs fins running natively on the various macOS systems I have access to.  I don't have access to a Docker configuration for macOS so I am unable to reproduce and it's not a configuration we explicitly support.  Perhaps you can try debugging the test run on your configuration, for example by adding print() functions and the like.  Otherwise, there's not likely to be any action on this.
msg311971 - (view) Author: Alexander Mohr (thehesiod) * Date: 2018-02-10 23:51
sorry if my report is confusing, the issue is when run in a debian:stretch docker container on an OSX host, so running this: docker run --rm -ti docker:stretch on osx.  So if you have access to an OSX machine and have docker running (18.02.0-ce-mac53) on your OSX machine it should reproduce there.
msg311973 - (view) Author: Alexander Mohr (thehesiod) * Date: 2018-02-11 00:35
here's how to repro, download fresh debian:stretch image, then install reqs for python:
apt-get update && apt-get install curl build-essential libssl-dev libffi-dev libmemcached-dev zlib1g-dev

install pyenv-installer:
curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash

install and activate python3.6.3:
pyenv install 3.6.3 && pyenv global 3.6.3

run attached test script which I generated from the unittest
msg311981 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2018-02-11 04:48
Thanks for the elaboration.  Your report wasn't confusing.  The fact remains that we don't test or claim to support Python running under Docker on macOS.  If someone wants to investigate further (and re-open this issue), they are welcome to but I personally have no interest in it.  Just taking a quick look at the Docker for Mac documentation indicates it implements its own file system, osxfs, with its own quirks.  So, if that is in use, it could very well be the source of the test failures.  I would think that running containers under Docker on macOS would be enough of a different animal that it would need to be considered a new platform with regard to Python support.  Unless someone steps up and wants to fully support such a configuration (which would mean a buildbot among other things), I don't think we want to go down that path.  Sorry!
History
Date User Action Args
2022-04-11 14:58:57adminsetgithub: 76992
2018-02-11 04:48:39ned.deilysetstatus: open -> closed
resolution: third party
messages: + msg311981

stage: resolved
2018-02-11 00:35:41thehesiodsetfiles: + test.py

messages: + msg311973
2018-02-10 23:51:31thehesiodsetmessages: + msg311971
2018-02-10 03:09:41ned.deilysetnosy: + ned.deily
messages: + msg311930
2018-02-10 00:45:27thehesiodsetmessages: + msg311924
2018-02-10 00:29:54thehesiodcreate