Skip to content

Python 3.11 test failures (IsADirectoryError) with 4.6.0 #686

@mgorny

Description

@mgorny

Describe the bug
The 4.6.0 declares support for py3.11. However, when running the test suite I get a bunch of failures (they seem to boil down to IsADirectoryError being raised):

Test failures
======================================================================
ERROR: test_named_temporary_file (pyfakefs.tests.fake_tempfile_test.FakeTempfileModuleTest.test_named_temporary_file)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/pyfakefs-4.6.0/pyfakefs/tests/fake_tempfile_test.py", line 34, in test_named_temporary_file
    obj = tempfile.NamedTemporaryFile()
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/tempfile.py", line 563, in NamedTemporaryFile
    file = _io.open(dir, mode, buffering=buffering,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5009, in open
    return fake_open(file, mode, buffering, encoding, errors,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5694, in __call__
    return self.call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5772, in call
    file_object = self._init_file_object(file_object,
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5828, in _init_file_object
    file_object.set_contents('')
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 675, in set_contents
    raise self.filesystem.raise_os_error(errno.EISDIR, self.path)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 1098, in raise_os_error
    raise OSError(err_no, message, filename)
IsADirectoryError: [Errno 21] Is a directory in the fake filesystem: '/tmp'

======================================================================
ERROR: test_named_temporary_file_no_delete (pyfakefs.tests.fake_tempfile_test.FakeTempfileModuleTest.test_named_temporary_file_no_delete)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/pyfakefs-4.6.0/pyfakefs/tests/fake_tempfile_test.py", line 41, in test_named_temporary_file_no_delete
    obj = tempfile.NamedTemporaryFile(delete=False)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/tempfile.py", line 563, in NamedTemporaryFile
    file = _io.open(dir, mode, buffering=buffering,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5009, in open
    return fake_open(file, mode, buffering, encoding, errors,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5694, in __call__
    return self.call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5772, in call
    file_object = self._init_file_object(file_object,
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5828, in _init_file_object
    file_object.set_contents('')
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 675, in set_contents
    raise self.filesystem.raise_os_error(errno.EISDIR, self.path)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 1098, in raise_os_error
    raise OSError(err_no, message, filename)
IsADirectoryError: [Errno 21] Is a directory in the fake filesystem: '/tmp'

======================================================================
ERROR: test_temporary_file (pyfakefs.tests.fake_tempfile_test.FakeTempfileModuleTest.test_temporary_file)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/pyfakefs-4.6.0/pyfakefs/tests/fake_tempfile_test.py", line 101, in test_temporary_file
    with tempfile.TemporaryFile() as f:
         ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/tempfile.py", line 657, in TemporaryFile
    file = _io.open(dir, mode, buffering=buffering,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5009, in open
    return fake_open(file, mode, buffering, encoding, errors,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5694, in __call__
    return self.call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5772, in call
    file_object = self._init_file_object(file_object,
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5828, in _init_file_object
    file_object.set_contents('')
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 675, in set_contents
    raise self.filesystem.raise_os_error(errno.EISDIR, self.path)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 1098, in raise_os_error
    raise OSError(err_no, message, filename)
IsADirectoryError: [Errno 21] Is a directory in the fake filesystem: '/tmp'

======================================================================
ERROR: test_pause_resume (pyfakefs.tests.fake_filesystem_unittest_test.PauseResumePatcherTest.test_pause_resume)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/pyfakefs-4.6.0/pyfakefs/tests/fake_filesystem_unittest_test.py", line 623, in test_pause_resume
    fake_temp_file = tempfile.NamedTemporaryFile()
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/tempfile.py", line 563, in NamedTemporaryFile
    file = _io.open(dir, mode, buffering=buffering,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5009, in open
    return fake_open(file, mode, buffering, encoding, errors,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5694, in __call__
    return self.call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5772, in call
    file_object = self._init_file_object(file_object,
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5828, in _init_file_object
    file_object.set_contents('')
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 675, in set_contents
    raise self.filesystem.raise_os_error(errno.EISDIR, self.path)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 1098, in raise_os_error
    raise OSError(err_no, message, filename)
IsADirectoryError: [Errno 21] Is a directory in the fake filesystem: '/tmp'

======================================================================
ERROR: test_pause_resume_contextmanager (pyfakefs.tests.fake_filesystem_unittest_test.PauseResumePatcherTest.test_pause_resume_contextmanager)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/pyfakefs-4.6.0/pyfakefs/tests/fake_filesystem_unittest_test.py", line 639, in test_pause_resume_contextmanager
    fake_temp_file = tempfile.NamedTemporaryFile()
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/tempfile.py", line 563, in NamedTemporaryFile
    file = _io.open(dir, mode, buffering=buffering,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5009, in open
    return fake_open(file, mode, buffering, encoding, errors,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5694, in __call__
    return self.call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5772, in call
    file_object = self._init_file_object(file_object,
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5828, in _init_file_object
    file_object.set_contents('')
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 675, in set_contents
    raise self.filesystem.raise_os_error(errno.EISDIR, self.path)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 1098, in raise_os_error
    raise OSError(err_no, message, filename)
IsADirectoryError: [Errno 21] Is a directory in the fake filesystem: '/tmp'

======================================================================
ERROR: test_pause_resume (pyfakefs.tests.fake_filesystem_unittest_test.PauseResumeTest.test_pause_resume)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/pyfakefs-4.6.0/pyfakefs/tests/fake_filesystem_unittest_test.py", line 554, in test_pause_resume
    fake_temp_file = tempfile.NamedTemporaryFile()
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/tempfile.py", line 563, in NamedTemporaryFile
    file = _io.open(dir, mode, buffering=buffering,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5009, in open
    return fake_open(file, mode, buffering, encoding, errors,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5694, in __call__
    return self.call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5772, in call
    file_object = self._init_file_object(file_object,
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5828, in _init_file_object
    file_object.set_contents('')
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 675, in set_contents
    raise self.filesystem.raise_os_error(errno.EISDIR, self.path)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 1098, in raise_os_error
    raise OSError(err_no, message, filename)
IsADirectoryError: [Errno 21] Is a directory in the fake filesystem: '/tmp'

======================================================================
ERROR: test_pause_resume_contextmanager (pyfakefs.tests.fake_filesystem_unittest_test.PauseResumeTest.test_pause_resume_contextmanager)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/pyfakefs-4.6.0/pyfakefs/tests/fake_filesystem_unittest_test.py", line 589, in test_pause_resume_contextmanager
    fake_temp_file = tempfile.NamedTemporaryFile()
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/tempfile.py", line 563, in NamedTemporaryFile
    file = _io.open(dir, mode, buffering=buffering,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5009, in open
    return fake_open(file, mode, buffering, encoding, errors,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5694, in __call__
    return self.call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5772, in call
    file_object = self._init_file_object(file_object,
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5828, in _init_file_object
    file_object.set_contents('')
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 675, in set_contents
    raise self.filesystem.raise_os_error(errno.EISDIR, self.path)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 1098, in raise_os_error
    raise OSError(err_no, message, filename)
IsADirectoryError: [Errno 21] Is a directory in the fake filesystem: '/tmp'

======================================================================
ERROR: test_pause_resume_fs (pyfakefs.tests.fake_filesystem_unittest_test.PauseResumeTest.test_pause_resume_fs)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/pyfakefs-4.6.0/pyfakefs/tests/fake_filesystem_unittest_test.py", line 568, in test_pause_resume_fs
    fake_temp_file = tempfile.NamedTemporaryFile()
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/tempfile.py", line 563, in NamedTemporaryFile
    file = _io.open(dir, mode, buffering=buffering,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5009, in open
    return fake_open(file, mode, buffering, encoding, errors,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5694, in __call__
    return self.call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5772, in call
    file_object = self._init_file_object(file_object,
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5828, in _init_file_object
    file_object.set_contents('')
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 675, in set_contents
    raise self.filesystem.raise_os_error(errno.EISDIR, self.path)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 1098, in raise_os_error
    raise OSError(err_no, message, filename)
IsADirectoryError: [Errno 21] Is a directory in the fake filesystem: '/tmp'

======================================================================
ERROR: test_pause_resume_fs_contextmanager (pyfakefs.tests.fake_filesystem_unittest_test.PauseResumeTest.test_pause_resume_fs_contextmanager)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/pyfakefs-4.6.0/pyfakefs/tests/fake_filesystem_unittest_test.py", line 602, in test_pause_resume_fs_contextmanager
    fake_temp_file = tempfile.NamedTemporaryFile()
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/tempfile.py", line 563, in NamedTemporaryFile
    file = _io.open(dir, mode, buffering=buffering,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5009, in open
    return fake_open(file, mode, buffering, encoding, errors,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5694, in __call__
    return self.call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5772, in call
    file_object = self._init_file_object(file_object,
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5828, in _init_file_object
    file_object.set_contents('')
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 675, in set_contents
    raise self.filesystem.raise_os_error(errno.EISDIR, self.path)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 1098, in raise_os_error
    raise OSError(err_no, message, filename)
IsADirectoryError: [Errno 21] Is a directory in the fake filesystem: '/tmp'

======================================================================
ERROR: test_write_excel (pyfakefs.tests.patched_packages_test.TestPatchedPackages.test_write_excel)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/pyfakefs-4.6.0/pyfakefs/tests/patched_packages_test.py", line 70, in test_write_excel
    with pd.ExcelWriter(path) as writer:
  File "/tmp/pyfakefs-4.6.0/.tox/py311/lib/python3.11/site-packages/pandas/io/excel/_base.py", line 1201, in __exit__
    self.close()
  File "/tmp/pyfakefs-4.6.0/.tox/py311/lib/python3.11/site-packages/pandas/io/excel/_base.py", line 1205, in close
    self.save()
  File "/tmp/pyfakefs-4.6.0/.tox/py311/lib/python3.11/site-packages/pandas/io/excel/_openpyxl.py", line 81, in save
    self.book.save(self.handles.handle)
  File "/tmp/pyfakefs-4.6.0/.tox/py311/lib/python3.11/site-packages/openpyxl/workbook/workbook.py", line 407, in save
    save_workbook(self, filename)
  File "/tmp/pyfakefs-4.6.0/.tox/py311/lib/python3.11/site-packages/openpyxl/writer/excel.py", line 293, in save_workbook
    writer.save()
  File "/tmp/pyfakefs-4.6.0/.tox/py311/lib/python3.11/site-packages/openpyxl/writer/excel.py", line 275, in save
    self.write_data()
  File "/tmp/pyfakefs-4.6.0/.tox/py311/lib/python3.11/site-packages/openpyxl/writer/excel.py", line 75, in write_data
    self._write_worksheets()
  File "/tmp/pyfakefs-4.6.0/.tox/py311/lib/python3.11/site-packages/openpyxl/writer/excel.py", line 215, in _write_worksheets
    self.write_worksheet(ws)
  File "/tmp/pyfakefs-4.6.0/.tox/py311/lib/python3.11/site-packages/openpyxl/writer/excel.py", line 199, in write_worksheet
    writer = WorksheetWriter(ws)
             ^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/.tox/py311/lib/python3.11/site-packages/openpyxl/worksheet/_writer.py", line 52, in __init__
    out = create_temporary_file()
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/.tox/py311/lib/python3.11/site-packages/openpyxl/worksheet/_writer.py", line 36, in create_temporary_file
    fobj = NamedTemporaryFile(mode='w+', suffix=suffix,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/tempfile.py", line 563, in NamedTemporaryFile
    file = _io.open(dir, mode, buffering=buffering,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5009, in open
    return fake_open(file, mode, buffering, encoding, errors,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5694, in __call__
    return self.call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5772, in call
    file_object = self._init_file_object(file_object,
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 5828, in _init_file_object
    file_object.set_contents('')
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 675, in set_contents
    raise self.filesystem.raise_os_error(errno.EISDIR, self.path)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pyfakefs-4.6.0/pyfakefs/fake_filesystem.py", line 1098, in raise_os_error
    raise OSError(err_no, message, filename)
IsADirectoryError: [Errno 21] Is a directory in the fake filesystem: '/tmp'

======================================================================
FAIL: test_temporay_file_with_dir (pyfakefs.tests.fake_tempfile_test.FakeTempfileModuleTest.test_temporay_file_with_dir)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/pyfakefs-4.6.0/pyfakefs/tests/fake_tempfile_test.py", line 107, in test_temporay_file_with_dir
    with self.assertRaises(FileNotFoundError):
AssertionError: FileNotFoundError not raised

----------------------------------------------------------------------
Ran 2064 tests in 8.078s

FAILED (failures=1, errors=10, skipped=842, expected failures=2)

How To Reproduce
tox -e py311

Your environment
Please run the following and paste the output.

$ python -c "import platform; print(platform.platform())"
Linux-5.18.10-gentoo-dist-x86_64-AMD_Ryzen_5_3600_6-Core_Processor-with-glibc2.35
$ python -c "import sys; print('Python', sys.version)"
Python 3.11.0b4 (main, Jul 13 2022, 07:09:35) [GCC 12.1.1 20220709]
$ python -c "from pyfakefs.fake_filesystem import __version__; print('pyfakefs', __version__)"
pyfakefs 4.6.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions