From ea14a4a7ded28c8e93ae7ac0dcda47eed230a6b8 Mon Sep 17 00:00:00 2001
From: Marcel Telka <marcel@telka.sk>
Date: Tue, 09 Apr 2024 06:28:06 +0200
Subject: [PATCH] python/pyfakefs: update to 5.4.0

---
 components/python/pyfakefs/patches/01-test-requirements.patch |    6 +-
 components/python/pyfakefs/pyfakefs-PYVER.p5m                 |    2 
 components/python/pyfakefs/Makefile                           |    6 -
 components/python/pyfakefs/manifests/sample-manifest.p5m      |    2 
 components/python/pyfakefs/test/results-all.master            |  157 +++++++++++++++++++++++++++++++++++++++++++++++-----
 5 files changed, 151 insertions(+), 22 deletions(-)

diff --git a/components/python/pyfakefs/Makefile b/components/python/pyfakefs/Makefile
index 1c38192..84b721e 100644
--- a/components/python/pyfakefs/Makefile
+++ b/components/python/pyfakefs/Makefile
@@ -19,13 +19,11 @@
 include ../../../make-rules/shared-macros.mk
 
 COMPONENT_NAME =		pyfakefs
-HUMAN_VERSION =			5.3.5
+HUMAN_VERSION =			5.4.0
 COMPONENT_SUMMARY =		pyfakefs - pyfakefs implements a fake file system that mocks the Python file system modules.
 COMPONENT_PROJECT_URL =		https://github.com/pytest-dev/pyfakefs
-COMPONENT_ARCHIVE_URL =		\
-	https://files.pythonhosted.org/packages/00/2f/0fb6e7c3119fd9935cc1608a3b79de70bad8c2b400654b7e38e35120ff91/pyfakefs-5.3.5.tar.gz
 COMPONENT_ARCHIVE_HASH =	\
-	sha256:7cdc500b35a214cb7a614e1940543acc6650e69a94ac76e30f33c9373bd9cf90
+	sha256:969096d84b5b986f4f84399d03f4900381a3880d03adcdbd609566a4baf39bf9
 COMPONENT_LICENSE =		Apache-2.0
 COMPONENT_LICENSE_FILE =	COPYING
 
diff --git a/components/python/pyfakefs/manifests/sample-manifest.p5m b/components/python/pyfakefs/manifests/sample-manifest.p5m
index 0449871..59e8a6e 100644
--- a/components/python/pyfakefs/manifests/sample-manifest.p5m
+++ b/components/python/pyfakefs/manifests/sample-manifest.p5m
@@ -57,6 +57,8 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/pyfakefs/pytest_tests/pytest_module_fixture_test.py
 file path=usr/lib/python$(PYVER)/vendor-packages/pyfakefs/pytest_tests/pytest_plugin_failing_helper.py
 file path=usr/lib/python$(PYVER)/vendor-packages/pyfakefs/pytest_tests/pytest_plugin_test.py
+file path=usr/lib/python$(PYVER)/vendor-packages/pyfakefs/pytest_tests/pytest_reload_pandas_test.py
+file path=usr/lib/python$(PYVER)/vendor-packages/pyfakefs/pytest_tests/unhashable.py
 file path=usr/lib/python$(PYVER)/vendor-packages/pyfakefs/tests/__init__.py
 file path=usr/lib/python$(PYVER)/vendor-packages/pyfakefs/tests/all_tests.py
 file path=usr/lib/python$(PYVER)/vendor-packages/pyfakefs/tests/all_tests_without_extra_packages.py
diff --git a/components/python/pyfakefs/patches/01-test-requirements.patch b/components/python/pyfakefs/patches/01-test-requirements.patch
index 5850d56..b787f0f 100644
--- a/components/python/pyfakefs/patches/01-test-requirements.patch
+++ b/components/python/pyfakefs/patches/01-test-requirements.patch
@@ -1,7 +1,7 @@
 Remove optional test dependencies we do not have packaged yet.
 
---- pyfakefs-5.3.5/extra_requirements.txt.orig
-+++ pyfakefs-5.3.5/extra_requirements.txt
+--- pyfakefs-5.4.0/extra_requirements.txt.orig
++++ pyfakefs-5.4.0/extra_requirements.txt
 @@ -8,13 +8,3 @@
  # Older versions might work ok, the versions chosen here are just the latest
  # available at the time of writing.
@@ -13,6 +13,6 @@
 -# we use the latest version to see any problems with new versions
 -pandas==1.3.5; python_version == '3.7' # pyup: ignore
 -pandas==2.0.3; python_version == '3.8' # pyup: ignore
--pandas==2.2.0; python_version > '3.8'
+-pandas==2.2.1; python_version > '3.8'
 -xlrd==2.0.1
 -openpyxl==3.1.2
diff --git a/components/python/pyfakefs/pyfakefs-PYVER.p5m b/components/python/pyfakefs/pyfakefs-PYVER.p5m
index ee99ebb..4c7b9f5 100644
--- a/components/python/pyfakefs/pyfakefs-PYVER.p5m
+++ b/components/python/pyfakefs/pyfakefs-PYVER.p5m
@@ -57,6 +57,8 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/pyfakefs/pytest_tests/pytest_module_fixture_test.py
 file path=usr/lib/python$(PYVER)/vendor-packages/pyfakefs/pytest_tests/pytest_plugin_failing_helper.py
 file path=usr/lib/python$(PYVER)/vendor-packages/pyfakefs/pytest_tests/pytest_plugin_test.py
+file path=usr/lib/python$(PYVER)/vendor-packages/pyfakefs/pytest_tests/pytest_reload_pandas_test.py
+file path=usr/lib/python$(PYVER)/vendor-packages/pyfakefs/pytest_tests/unhashable.py
 file path=usr/lib/python$(PYVER)/vendor-packages/pyfakefs/tests/__init__.py
 file path=usr/lib/python$(PYVER)/vendor-packages/pyfakefs/tests/all_tests.py
 file path=usr/lib/python$(PYVER)/vendor-packages/pyfakefs/tests/all_tests_without_extra_packages.py
diff --git a/components/python/pyfakefs/test/results-all.master b/components/python/pyfakefs/test/results-all.master
index 15d9200..8a7d9bf 100644
--- a/components/python/pyfakefs/test/results-all.master
+++ b/components/python/pyfakefs/test/results-all.master
@@ -318,6 +318,7 @@
 test_move_file_into_directory (pyfakefs.tests.fake_filesystem_shutil_test.FakeShutilModuleTest) ... ok
 test_move_file_into_other_filesystem (pyfakefs.tests.fake_filesystem_shutil_test.FakeShutilModuleTest) ... ok
 test_rmtree (pyfakefs.tests.fake_filesystem_shutil_test.FakeShutilModuleTest) ... ok
+test_rmtree_in_windows (pyfakefs.tests.fake_filesystem_shutil_test.FakeShutilModuleTest) ... ok
 test_rmtree_non_existing_dir (pyfakefs.tests.fake_filesystem_shutil_test.FakeShutilModuleTest) ... ok
 test_rmtree_non_existing_dir_with_handler (pyfakefs.tests.fake_filesystem_shutil_test.FakeShutilModuleTest) ... ok
 test_rmtree_with_open_file_fails_under_windows (pyfakefs.tests.fake_filesystem_shutil_test.FakeShutilModuleTest) ... skipped 'Windows specific behavior'
@@ -353,6 +354,7 @@
 test_move_file_into_directory (pyfakefs.tests.fake_filesystem_shutil_test.RealShutilModuleTest) ... skipped 'Only tests fake FS'
 test_move_file_into_other_filesystem (pyfakefs.tests.fake_filesystem_shutil_test.RealShutilModuleTest) ... skipped 'Only tests fake FS'
 test_rmtree (pyfakefs.tests.fake_filesystem_shutil_test.RealShutilModuleTest) ... skipped 'Only tests fake FS'
+test_rmtree_in_windows (pyfakefs.tests.fake_filesystem_shutil_test.RealShutilModuleTest) ... skipped 'Only tests fake FS'
 test_rmtree_non_existing_dir (pyfakefs.tests.fake_filesystem_shutil_test.RealShutilModuleTest) ... skipped 'Only tests fake FS'
 test_rmtree_non_existing_dir_with_handler (pyfakefs.tests.fake_filesystem_shutil_test.RealShutilModuleTest) ... skipped 'Only tests fake FS'
 test_rmtree_with_open_file_fails_under_windows (pyfakefs.tests.fake_filesystem_shutil_test.RealShutilModuleTest) ... skipped 'Windows specific behavior'
@@ -362,6 +364,8 @@
 test_rmtree_without_permission_for_a_file_in_windows (pyfakefs.tests.fake_filesystem_shutil_test.RealShutilModuleTest) ... skipped 'Windows specific behavior'
 test_default_path (pyfakefs.tests.fake_os_test.FakeExtendedAttributeTest) ... ok
 test_empty_xattr (pyfakefs.tests.fake_os_test.FakeExtendedAttributeTest) ... ok
+test_getxattr_raises_for_non_existing_attribute (pyfakefs.tests.fake_os_test.FakeExtendedAttributeTest) ... ok
+test_getxattr_raises_for_non_existing_file (pyfakefs.tests.fake_os_test.FakeExtendedAttributeTest) ... ok
 test_removeattr (pyfakefs.tests.fake_os_test.FakeExtendedAttributeTest) ... ok
 test_setxattr (pyfakefs.tests.fake_os_test.FakeExtendedAttributeTest) ... ok
 test_access (pyfakefs.tests.fake_os_test.FakeOsModuleDirFdTest) ... ok
@@ -477,14 +481,19 @@
 test_consecutive_chdir (pyfakefs.tests.fake_os_test.FakeOsModuleTest)
 Consecutive relative chdir calls should work. ... ok
 test_dir_with_trailing_sep_is_dir (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
+test_dup (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
+test_dup2_uses_existing_fd (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
+test_dup2_with_new_fd (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
+test_dup_uses_freed_fd (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_effective_ids_not_supported_under_windows (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_exists_current_dir (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_exists_with_trailing_sep (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
+test_fail_add_entry_to_readonly_dir (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_fdatasync_pass (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_fdatasync_raises_on_invalid_fd (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_fdatasync_raises_on_non_int (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_fdopen (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
-test_fdopen_mode (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
+test_fdopen_twice (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_fstat (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_fsync_pass_posix (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_fsync_pass_windows (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
@@ -513,7 +522,9 @@
 test_link_count1 (pyfakefs.tests.fake_os_test.FakeOsModuleTest)
 Test that hard link counts are updated correctly. ... ok
 test_link_delete (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
+test_link_follow_symlink_not_supported_inPypy (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... skipped 'follow_symlinks only not supported in PyPi'
 test_link_is_existing_file (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
+test_link_no_follow_symlink (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_link_non_existent_parent (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_link_path_ending_with_sep_posix (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_link_path_ending_with_sep_windows (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
@@ -554,6 +565,7 @@
 test_makedirs_raises_on_empty_path (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_makedirs_umask_applied (pyfakefs.tests.fake_os_test.FakeOsModuleTest)
 makedirs creates a directories with umask applied. ... ok
+test_makedirs_with_relative_paths (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_mk_nod_can_create_a_file (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_mk_nod_raises_if_empty_file_name (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_mk_nod_raises_if_file_exists (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
@@ -605,7 +617,11 @@
 test_open_broken_symlink_to_path_with_trailing_sep_macos (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_open_broken_symlink_to_path_with_trailing_sep_windows (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_open_existing_pipe (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
+test_open_fd_read_mode_for_ro_file (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
+test_open_fd_write_mode_for_ro_file (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_open_file_with_existing_pipe (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
+test_open_nofollow_symlink_as_parent_works (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
+test_open_nofollow_symlink_raises (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_open_pipe (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_open_pipe_with_existing_fd (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_open_raises_with_trailing_separator_linux (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
@@ -613,6 +629,7 @@
 test_open_raises_with_trailing_separator_windows (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_open_umask_applied (pyfakefs.tests.fake_os_test.FakeOsModuleTest)
 open creates a file with umask applied. ... ok
+test_open_with_o_directory (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_out_of_range_fdopen (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_read_write_pipe (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_readlink (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
@@ -774,14 +791,16 @@
 test_chdir_fails_non_directory (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS)
 chdir should raise OSError if the target is not a directory. ... ok
 test_chmod (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS) ... ok
-test_fdopen_mode (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS) ... ok
+test_fdopen_twice (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS) ... ok
 test_fsync_pass (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS) ... ok
 test_hardlink_works_with_symlink (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS) ... ok
 test_link_delete (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS) ... ok
 test_link_is_broken_symlink (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS) ... ok
 test_link_is_existing_file (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS) ... ok
 test_link_with_changed_case (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS) ... ok
+test_listdir_impossible_without_read_permission (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS) ... ok
 test_listdir_on_symlink (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS) ... ok
+test_listdir_possible_without_exe_permission (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS) ... ok
 test_listdir_returns_list (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS) ... ok
 test_lstat_posix (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS) ... ok
 test_makedirs (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS)
@@ -970,6 +989,26 @@
 test_stat_ino_dev (pyfakefs.tests.fake_os_test.FakeScandirTest) ... ok
 test_stat_posix (pyfakefs.tests.fake_os_test.FakeScandirTest) ... ok
 test_stat_windows (pyfakefs.tests.fake_os_test.FakeScandirTest) ... skipped 'Windows specific behavior'
+test_access (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_chmod (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_chown (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_link_dst_fd (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_link_src_fd (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_lstat (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_mkdir (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_mknod (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_open (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_readlink (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_remove (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_rename_dst_fd (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_rename_src_fd (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_replace_dst_fd (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_replace_src_fd (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_rmdir (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_stat (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_symlink (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_unlink (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_utime (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
 testOpenCreateMode444Windows (pyfakefs.tests.fake_os_test.RealOsModuleLowLevelFileOpTest) ... skipped 'Only tests fake FS'
 testOpenCreateMode666Windows (pyfakefs.tests.fake_os_test.RealOsModuleLowLevelFileOpTest) ... skipped 'Only tests fake FS'
 test_can_read_after_create_exclusive (pyfakefs.tests.fake_os_test.RealOsModuleLowLevelFileOpTest) ... skipped 'Only tests fake FS'
@@ -1063,14 +1102,19 @@
 test_consecutive_chdir (pyfakefs.tests.fake_os_test.RealOsModuleTest)
 Consecutive relative chdir calls should work. ... skipped 'Only tests fake FS'
 test_dir_with_trailing_sep_is_dir (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
+test_dup (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
+test_dup2_uses_existing_fd (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
+test_dup2_with_new_fd (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
+test_dup_uses_freed_fd (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_effective_ids_not_supported_under_windows (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_exists_current_dir (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_exists_with_trailing_sep (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
+test_fail_add_entry_to_readonly_dir (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_fdatasync_pass (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_fdatasync_raises_on_invalid_fd (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_fdatasync_raises_on_non_int (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_fdopen (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
-test_fdopen_mode (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
+test_fdopen_twice (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_fstat (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_fsync_pass_posix (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_fsync_pass_windows (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
@@ -1099,7 +1143,9 @@
 test_link_count1 (pyfakefs.tests.fake_os_test.RealOsModuleTest)
 Test that hard link counts are updated correctly. ... skipped 'Only tests fake FS'
 test_link_delete (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
+test_link_follow_symlink_not_supported_inPypy (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'follow_symlinks only not supported in PyPi'
 test_link_is_existing_file (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
+test_link_no_follow_symlink (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_link_non_existent_parent (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_link_path_ending_with_sep_posix (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_link_path_ending_with_sep_windows (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
@@ -1140,6 +1186,7 @@
 test_makedirs_raises_on_empty_path (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_makedirs_umask_applied (pyfakefs.tests.fake_os_test.RealOsModuleTest)
 makedirs creates a directories with umask applied. ... skipped 'Only tests fake FS'
+test_makedirs_with_relative_paths (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_mk_nod_can_create_a_file (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_mk_nod_raises_if_empty_file_name (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_mk_nod_raises_if_file_exists (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
@@ -1191,7 +1238,11 @@
 test_open_broken_symlink_to_path_with_trailing_sep_macos (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_open_broken_symlink_to_path_with_trailing_sep_windows (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_open_existing_pipe (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
+test_open_fd_read_mode_for_ro_file (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
+test_open_fd_write_mode_for_ro_file (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_open_file_with_existing_pipe (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
+test_open_nofollow_symlink_as_parent_works (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
+test_open_nofollow_symlink_raises (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_open_pipe (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_open_pipe_with_existing_fd (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_open_raises_with_trailing_separator_linux (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
@@ -1199,6 +1250,7 @@
 test_open_raises_with_trailing_separator_windows (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_open_umask_applied (pyfakefs.tests.fake_os_test.RealOsModuleTest)
 open creates a file with umask applied. ... skipped 'Only tests fake FS'
+test_open_with_o_directory (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_out_of_range_fdopen (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_read_write_pipe (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_readlink (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
@@ -1360,14 +1412,16 @@
 test_chdir_fails_non_directory (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS)
 chdir should raise OSError if the target is not a directory. ... skipped 'Only tests fake FS'
 test_chmod (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS) ... skipped 'Only tests fake FS'
-test_fdopen_mode (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS) ... skipped 'Only tests fake FS'
+test_fdopen_twice (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS) ... skipped 'Only tests fake FS'
 test_fsync_pass (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS) ... skipped 'Only tests fake FS'
 test_hardlink_works_with_symlink (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS) ... skipped 'Only tests fake FS'
 test_link_delete (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS) ... skipped 'Only tests fake FS'
 test_link_is_broken_symlink (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS) ... skipped 'Only tests fake FS'
 test_link_is_existing_file (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS) ... skipped 'Only tests fake FS'
 test_link_with_changed_case (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS) ... skipped 'Only tests fake FS'
+test_listdir_impossible_without_read_permission (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS) ... skipped 'Only tests fake FS'
 test_listdir_on_symlink (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS) ... skipped 'Only tests fake FS'
+test_listdir_possible_without_exe_permission (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS) ... skipped 'Only tests fake FS'
 test_listdir_returns_list (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS) ... skipped 'Only tests fake FS'
 test_lstat_posix (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS) ... skipped 'Only tests fake FS'
 test_makedirs (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS)
@@ -1737,6 +1791,7 @@
 test_utf16_text (pyfakefs.tests.fake_open_test.FakeFileOpenTest) ... ok
 test_write_devnull (pyfakefs.tests.fake_open_test.FakeFileOpenTest) ... ok
 test_write_str_read_bytes (pyfakefs.tests.fake_open_test.FakeFileOpenTest) ... ok
+test_no_opener_with_read (pyfakefs.tests.fake_open_test.FakeFileOpenWithOpenerTest) ... ok
 test_use_opener_with_append (pyfakefs.tests.fake_open_test.FakeFileOpenWithOpenerTest) ... ok
 test_use_opener_with_append_plus (pyfakefs.tests.fake_open_test.FakeFileOpenWithOpenerTest) ... ok
 test_use_opener_with_exclusive_plus (pyfakefs.tests.fake_open_test.FakeFileOpenWithOpenerTest) ... ok
@@ -1886,6 +1941,7 @@
 test_utf16_text (pyfakefs.tests.fake_open_test.RealFileOpenTest) ... skipped 'Only tests fake FS'
 test_write_devnull (pyfakefs.tests.fake_open_test.RealFileOpenTest) ... skipped 'Only tests fake FS'
 test_write_str_read_bytes (pyfakefs.tests.fake_open_test.RealFileOpenTest) ... skipped 'Only tests fake FS'
+test_no_opener_with_read (pyfakefs.tests.fake_open_test.RealFileOpenWithOpenerTest) ... skipped 'Only tests fake FS'
 test_use_opener_with_append (pyfakefs.tests.fake_open_test.RealFileOpenWithOpenerTest) ... skipped 'Only tests fake FS'
 test_use_opener_with_append_plus (pyfakefs.tests.fake_open_test.RealFileOpenWithOpenerTest) ... skipped 'Only tests fake FS'
 test_use_opener_with_exclusive_plus (pyfakefs.tests.fake_open_test.RealFileOpenWithOpenerTest) ... skipped 'Only tests fake FS'
@@ -2086,6 +2142,9 @@
 test_tmp_exists (pyfakefs.tests.fake_filesystem_unittest_test.TestTempDirCreation) ... ok
 test_fakefs (pyfakefs.tests.fake_filesystem_unittest_test.TestTempFileReload) ... ok
 test_value (pyfakefs.tests.fake_filesystem_unittest_test.TestTempFileReload) ... ok
+test_write_tmp_linux (pyfakefs.tests.fake_filesystem_unittest_test.TestTempPathCreation) ... ok
+test_write_tmp_macos (pyfakefs.tests.fake_filesystem_unittest_test.TestTempPathCreation) ... ok
+test_write_tmp_windows (pyfakefs.tests.fake_filesystem_unittest_test.TestTempPathCreation) ... ok
 test_create_file (pyfakefs.tests.example_test.TestExample)
 Test example.create_file() which uses `open()` ... ok
 test_delete_file (pyfakefs.tests.example_test.TestExample)
@@ -2143,6 +2202,8 @@
 test_is_dir (pyfakefs.tests.fake_pathlib_test.FakePathlibFileObjectPropertyTest) ... ok
 test_is_file (pyfakefs.tests.fake_pathlib_test.FakePathlibFileObjectPropertyTest) ... ok
 test_is_symlink (pyfakefs.tests.fake_pathlib_test.FakePathlibFileObjectPropertyTest) ... ok
+test_iterdir_and_glob_without_exe_permission (pyfakefs.tests.fake_pathlib_test.FakePathlibFileObjectPropertyTest) ... ok
+test_iterdir_impossible_without_read_permission (pyfakefs.tests.fake_pathlib_test.FakePathlibFileObjectPropertyTest) ... ok
 test_iterdir_in_unreadable_dir (pyfakefs.tests.fake_pathlib_test.FakePathlibFileObjectPropertyTest) ... ok
 test_lchmod (pyfakefs.tests.fake_pathlib_test.FakePathlibFileObjectPropertyTest) ... ok
 test_lstat_posix (pyfakefs.tests.fake_pathlib_test.FakePathlibFileObjectPropertyTest) ... ok
@@ -2260,6 +2321,8 @@
 test_is_dir (pyfakefs.tests.fake_pathlib_test.RealPathlibFileObjectPropertyTest) ... skipped 'Only tests fake FS'
 test_is_file (pyfakefs.tests.fake_pathlib_test.RealPathlibFileObjectPropertyTest) ... skipped 'Only tests fake FS'
 test_is_symlink (pyfakefs.tests.fake_pathlib_test.RealPathlibFileObjectPropertyTest) ... skipped 'Only tests fake FS'
+test_iterdir_and_glob_without_exe_permission (pyfakefs.tests.fake_pathlib_test.RealPathlibFileObjectPropertyTest) ... skipped 'Only tests fake FS'
+test_iterdir_impossible_without_read_permission (pyfakefs.tests.fake_pathlib_test.RealPathlibFileObjectPropertyTest) ... skipped 'Only tests fake FS'
 test_iterdir_in_unreadable_dir (pyfakefs.tests.fake_pathlib_test.RealPathlibFileObjectPropertyTest) ... skipped 'Only tests fake FS'
 test_lchmod (pyfakefs.tests.fake_pathlib_test.RealPathlibFileObjectPropertyTest) ... skipped 'Only tests fake FS'
 test_lstat_posix (pyfakefs.tests.fake_pathlib_test.RealPathlibFileObjectPropertyTest) ... skipped 'Only tests fake FS'
@@ -2368,9 +2431,9 @@
 Regression test for #915 - walk results shall be strings. ... skipped 'Only tests fake FS'
 
 ----------------------------------------------------------------------
-Ran 2153 tests
+Ran 2216 tests
 
-OK (skipped=868, expected failures=2)
+OK (skipped=908, expected failures=2)
 py$(PYV): commands[1]> python -m pyfakefs.tests.all_tests_without_extra_packages
 test_alt_sep (pyfakefs.tests.fake_filesystem_test.AlternativePathSeparatorTest) ... ok
 test_collapse_path_with_mixed_separators (pyfakefs.tests.fake_filesystem_test.AlternativePathSeparatorTest) ... ok
@@ -2690,6 +2753,7 @@
 test_move_file_into_directory (pyfakefs.tests.fake_filesystem_shutil_test.FakeShutilModuleTest) ... ok
 test_move_file_into_other_filesystem (pyfakefs.tests.fake_filesystem_shutil_test.FakeShutilModuleTest) ... ok
 test_rmtree (pyfakefs.tests.fake_filesystem_shutil_test.FakeShutilModuleTest) ... ok
+test_rmtree_in_windows (pyfakefs.tests.fake_filesystem_shutil_test.FakeShutilModuleTest) ... ok
 test_rmtree_non_existing_dir (pyfakefs.tests.fake_filesystem_shutil_test.FakeShutilModuleTest) ... ok
 test_rmtree_non_existing_dir_with_handler (pyfakefs.tests.fake_filesystem_shutil_test.FakeShutilModuleTest) ... ok
 test_rmtree_with_open_file_fails_under_windows (pyfakefs.tests.fake_filesystem_shutil_test.FakeShutilModuleTest) ... skipped 'Windows specific behavior'
@@ -2725,6 +2789,7 @@
 test_move_file_into_directory (pyfakefs.tests.fake_filesystem_shutil_test.RealShutilModuleTest) ... skipped 'Only tests fake FS'
 test_move_file_into_other_filesystem (pyfakefs.tests.fake_filesystem_shutil_test.RealShutilModuleTest) ... skipped 'Only tests fake FS'
 test_rmtree (pyfakefs.tests.fake_filesystem_shutil_test.RealShutilModuleTest) ... skipped 'Only tests fake FS'
+test_rmtree_in_windows (pyfakefs.tests.fake_filesystem_shutil_test.RealShutilModuleTest) ... skipped 'Only tests fake FS'
 test_rmtree_non_existing_dir (pyfakefs.tests.fake_filesystem_shutil_test.RealShutilModuleTest) ... skipped 'Only tests fake FS'
 test_rmtree_non_existing_dir_with_handler (pyfakefs.tests.fake_filesystem_shutil_test.RealShutilModuleTest) ... skipped 'Only tests fake FS'
 test_rmtree_with_open_file_fails_under_windows (pyfakefs.tests.fake_filesystem_shutil_test.RealShutilModuleTest) ... skipped 'Windows specific behavior'
@@ -2734,6 +2799,8 @@
 test_rmtree_without_permission_for_a_file_in_windows (pyfakefs.tests.fake_filesystem_shutil_test.RealShutilModuleTest) ... skipped 'Windows specific behavior'
 test_default_path (pyfakefs.tests.fake_os_test.FakeExtendedAttributeTest) ... ok
 test_empty_xattr (pyfakefs.tests.fake_os_test.FakeExtendedAttributeTest) ... ok
+test_getxattr_raises_for_non_existing_attribute (pyfakefs.tests.fake_os_test.FakeExtendedAttributeTest) ... ok
+test_getxattr_raises_for_non_existing_file (pyfakefs.tests.fake_os_test.FakeExtendedAttributeTest) ... ok
 test_removeattr (pyfakefs.tests.fake_os_test.FakeExtendedAttributeTest) ... ok
 test_setxattr (pyfakefs.tests.fake_os_test.FakeExtendedAttributeTest) ... ok
 test_access (pyfakefs.tests.fake_os_test.FakeOsModuleDirFdTest) ... ok
@@ -2849,14 +2916,19 @@
 test_consecutive_chdir (pyfakefs.tests.fake_os_test.FakeOsModuleTest)
 Consecutive relative chdir calls should work. ... ok
 test_dir_with_trailing_sep_is_dir (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
+test_dup (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
+test_dup2_uses_existing_fd (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
+test_dup2_with_new_fd (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
+test_dup_uses_freed_fd (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_effective_ids_not_supported_under_windows (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_exists_current_dir (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_exists_with_trailing_sep (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
+test_fail_add_entry_to_readonly_dir (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_fdatasync_pass (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_fdatasync_raises_on_invalid_fd (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_fdatasync_raises_on_non_int (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_fdopen (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
-test_fdopen_mode (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
+test_fdopen_twice (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_fstat (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_fsync_pass_posix (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_fsync_pass_windows (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
@@ -2885,7 +2957,9 @@
 test_link_count1 (pyfakefs.tests.fake_os_test.FakeOsModuleTest)
 Test that hard link counts are updated correctly. ... ok
 test_link_delete (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
+test_link_follow_symlink_not_supported_inPypy (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... skipped 'follow_symlinks only not supported in PyPi'
 test_link_is_existing_file (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
+test_link_no_follow_symlink (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_link_non_existent_parent (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_link_path_ending_with_sep_posix (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_link_path_ending_with_sep_windows (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
@@ -2926,6 +3000,7 @@
 test_makedirs_raises_on_empty_path (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_makedirs_umask_applied (pyfakefs.tests.fake_os_test.FakeOsModuleTest)
 makedirs creates a directories with umask applied. ... ok
+test_makedirs_with_relative_paths (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_mk_nod_can_create_a_file (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_mk_nod_raises_if_empty_file_name (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_mk_nod_raises_if_file_exists (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
@@ -2977,7 +3052,11 @@
 test_open_broken_symlink_to_path_with_trailing_sep_macos (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_open_broken_symlink_to_path_with_trailing_sep_windows (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_open_existing_pipe (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
+test_open_fd_read_mode_for_ro_file (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
+test_open_fd_write_mode_for_ro_file (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_open_file_with_existing_pipe (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
+test_open_nofollow_symlink_as_parent_works (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
+test_open_nofollow_symlink_raises (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_open_pipe (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_open_pipe_with_existing_fd (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_open_raises_with_trailing_separator_linux (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
@@ -2985,6 +3064,7 @@
 test_open_raises_with_trailing_separator_windows (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_open_umask_applied (pyfakefs.tests.fake_os_test.FakeOsModuleTest)
 open creates a file with umask applied. ... ok
+test_open_with_o_directory (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_out_of_range_fdopen (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_read_write_pipe (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
 test_readlink (pyfakefs.tests.fake_os_test.FakeOsModuleTest) ... ok
@@ -3146,14 +3226,16 @@
 test_chdir_fails_non_directory (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS)
 chdir should raise OSError if the target is not a directory. ... ok
 test_chmod (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS) ... ok
-test_fdopen_mode (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS) ... ok
+test_fdopen_twice (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS) ... ok
 test_fsync_pass (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS) ... ok
 test_hardlink_works_with_symlink (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS) ... ok
 test_link_delete (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS) ... ok
 test_link_is_broken_symlink (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS) ... ok
 test_link_is_existing_file (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS) ... ok
 test_link_with_changed_case (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS) ... ok
+test_listdir_impossible_without_read_permission (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS) ... ok
 test_listdir_on_symlink (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS) ... ok
+test_listdir_possible_without_exe_permission (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS) ... ok
 test_listdir_returns_list (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS) ... ok
 test_lstat_posix (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS) ... ok
 test_makedirs (pyfakefs.tests.fake_os_test.FakeOsModuleTestCaseInsensitiveFS)
@@ -3342,6 +3424,26 @@
 test_stat_ino_dev (pyfakefs.tests.fake_os_test.FakeScandirTest) ... ok
 test_stat_posix (pyfakefs.tests.fake_os_test.FakeScandirTest) ... ok
 test_stat_windows (pyfakefs.tests.fake_os_test.FakeScandirTest) ... skipped 'Windows specific behavior'
+test_access (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_chmod (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_chown (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_link_dst_fd (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_link_src_fd (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_lstat (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_mkdir (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_mknod (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_open (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_readlink (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_remove (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_rename_dst_fd (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_rename_src_fd (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_replace_dst_fd (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_replace_src_fd (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_rmdir (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_stat (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_symlink (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_unlink (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
+test_utime (pyfakefs.tests.fake_os_test.RealOsModuleDirFdTest) ... skipped 'Only tests fake FS'
 testOpenCreateMode444Windows (pyfakefs.tests.fake_os_test.RealOsModuleLowLevelFileOpTest) ... skipped 'Only tests fake FS'
 testOpenCreateMode666Windows (pyfakefs.tests.fake_os_test.RealOsModuleLowLevelFileOpTest) ... skipped 'Only tests fake FS'
 test_can_read_after_create_exclusive (pyfakefs.tests.fake_os_test.RealOsModuleLowLevelFileOpTest) ... skipped 'Only tests fake FS'
@@ -3435,14 +3537,19 @@
 test_consecutive_chdir (pyfakefs.tests.fake_os_test.RealOsModuleTest)
 Consecutive relative chdir calls should work. ... skipped 'Only tests fake FS'
 test_dir_with_trailing_sep_is_dir (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
+test_dup (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
+test_dup2_uses_existing_fd (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
+test_dup2_with_new_fd (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
+test_dup_uses_freed_fd (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_effective_ids_not_supported_under_windows (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_exists_current_dir (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_exists_with_trailing_sep (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
+test_fail_add_entry_to_readonly_dir (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_fdatasync_pass (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_fdatasync_raises_on_invalid_fd (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_fdatasync_raises_on_non_int (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_fdopen (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
-test_fdopen_mode (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
+test_fdopen_twice (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_fstat (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_fsync_pass_posix (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_fsync_pass_windows (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
@@ -3471,7 +3578,9 @@
 test_link_count1 (pyfakefs.tests.fake_os_test.RealOsModuleTest)
 Test that hard link counts are updated correctly. ... skipped 'Only tests fake FS'
 test_link_delete (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
+test_link_follow_symlink_not_supported_inPypy (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'follow_symlinks only not supported in PyPi'
 test_link_is_existing_file (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
+test_link_no_follow_symlink (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_link_non_existent_parent (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_link_path_ending_with_sep_posix (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_link_path_ending_with_sep_windows (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
@@ -3512,6 +3621,7 @@
 test_makedirs_raises_on_empty_path (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_makedirs_umask_applied (pyfakefs.tests.fake_os_test.RealOsModuleTest)
 makedirs creates a directories with umask applied. ... skipped 'Only tests fake FS'
+test_makedirs_with_relative_paths (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_mk_nod_can_create_a_file (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_mk_nod_raises_if_empty_file_name (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_mk_nod_raises_if_file_exists (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
@@ -3563,7 +3673,11 @@
 test_open_broken_symlink_to_path_with_trailing_sep_macos (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_open_broken_symlink_to_path_with_trailing_sep_windows (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_open_existing_pipe (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
+test_open_fd_read_mode_for_ro_file (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
+test_open_fd_write_mode_for_ro_file (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_open_file_with_existing_pipe (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
+test_open_nofollow_symlink_as_parent_works (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
+test_open_nofollow_symlink_raises (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_open_pipe (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_open_pipe_with_existing_fd (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_open_raises_with_trailing_separator_linux (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
@@ -3571,6 +3685,7 @@
 test_open_raises_with_trailing_separator_windows (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_open_umask_applied (pyfakefs.tests.fake_os_test.RealOsModuleTest)
 open creates a file with umask applied. ... skipped 'Only tests fake FS'
+test_open_with_o_directory (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_out_of_range_fdopen (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_read_write_pipe (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
 test_readlink (pyfakefs.tests.fake_os_test.RealOsModuleTest) ... skipped 'Only tests fake FS'
@@ -3732,14 +3847,16 @@
 test_chdir_fails_non_directory (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS)
 chdir should raise OSError if the target is not a directory. ... skipped 'Only tests fake FS'
 test_chmod (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS) ... skipped 'Only tests fake FS'
-test_fdopen_mode (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS) ... skipped 'Only tests fake FS'
+test_fdopen_twice (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS) ... skipped 'Only tests fake FS'
 test_fsync_pass (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS) ... skipped 'Only tests fake FS'
 test_hardlink_works_with_symlink (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS) ... skipped 'Only tests fake FS'
 test_link_delete (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS) ... skipped 'Only tests fake FS'
 test_link_is_broken_symlink (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS) ... skipped 'Only tests fake FS'
 test_link_is_existing_file (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS) ... skipped 'Only tests fake FS'
 test_link_with_changed_case (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS) ... skipped 'Only tests fake FS'
+test_listdir_impossible_without_read_permission (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS) ... skipped 'Only tests fake FS'
 test_listdir_on_symlink (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS) ... skipped 'Only tests fake FS'
+test_listdir_possible_without_exe_permission (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS) ... skipped 'Only tests fake FS'
 test_listdir_returns_list (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS) ... skipped 'Only tests fake FS'
 test_lstat_posix (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS) ... skipped 'Only tests fake FS'
 test_makedirs (pyfakefs.tests.fake_os_test.RealOsModuleTestCaseInsensitiveFS)
@@ -4109,6 +4226,7 @@
 test_utf16_text (pyfakefs.tests.fake_open_test.FakeFileOpenTest) ... ok
 test_write_devnull (pyfakefs.tests.fake_open_test.FakeFileOpenTest) ... ok
 test_write_str_read_bytes (pyfakefs.tests.fake_open_test.FakeFileOpenTest) ... ok
+test_no_opener_with_read (pyfakefs.tests.fake_open_test.FakeFileOpenWithOpenerTest) ... ok
 test_use_opener_with_append (pyfakefs.tests.fake_open_test.FakeFileOpenWithOpenerTest) ... ok
 test_use_opener_with_append_plus (pyfakefs.tests.fake_open_test.FakeFileOpenWithOpenerTest) ... ok
 test_use_opener_with_exclusive_plus (pyfakefs.tests.fake_open_test.FakeFileOpenWithOpenerTest) ... ok
@@ -4258,6 +4376,7 @@
 test_utf16_text (pyfakefs.tests.fake_open_test.RealFileOpenTest) ... skipped 'Only tests fake FS'
 test_write_devnull (pyfakefs.tests.fake_open_test.RealFileOpenTest) ... skipped 'Only tests fake FS'
 test_write_str_read_bytes (pyfakefs.tests.fake_open_test.RealFileOpenTest) ... skipped 'Only tests fake FS'
+test_no_opener_with_read (pyfakefs.tests.fake_open_test.RealFileOpenWithOpenerTest) ... skipped 'Only tests fake FS'
 test_use_opener_with_append (pyfakefs.tests.fake_open_test.RealFileOpenWithOpenerTest) ... skipped 'Only tests fake FS'
 test_use_opener_with_append_plus (pyfakefs.tests.fake_open_test.RealFileOpenWithOpenerTest) ... skipped 'Only tests fake FS'
 test_use_opener_with_exclusive_plus (pyfakefs.tests.fake_open_test.RealFileOpenWithOpenerTest) ... skipped 'Only tests fake FS'
@@ -4458,6 +4577,9 @@
 test_tmp_exists (pyfakefs.tests.fake_filesystem_unittest_test.TestTempDirCreation) ... ok
 test_fakefs (pyfakefs.tests.fake_filesystem_unittest_test.TestTempFileReload) ... ok
 test_value (pyfakefs.tests.fake_filesystem_unittest_test.TestTempFileReload) ... ok
+test_write_tmp_linux (pyfakefs.tests.fake_filesystem_unittest_test.TestTempPathCreation) ... ok
+test_write_tmp_macos (pyfakefs.tests.fake_filesystem_unittest_test.TestTempPathCreation) ... ok
+test_write_tmp_windows (pyfakefs.tests.fake_filesystem_unittest_test.TestTempPathCreation) ... ok
 test_create_file (pyfakefs.tests.example_test.TestExample)
 Test example.create_file() which uses `open()` ... ok
 test_delete_file (pyfakefs.tests.example_test.TestExample)
@@ -4515,6 +4637,8 @@
 test_is_dir (pyfakefs.tests.fake_pathlib_test.FakePathlibFileObjectPropertyTest) ... ok
 test_is_file (pyfakefs.tests.fake_pathlib_test.FakePathlibFileObjectPropertyTest) ... ok
 test_is_symlink (pyfakefs.tests.fake_pathlib_test.FakePathlibFileObjectPropertyTest) ... ok
+test_iterdir_and_glob_without_exe_permission (pyfakefs.tests.fake_pathlib_test.FakePathlibFileObjectPropertyTest) ... ok
+test_iterdir_impossible_without_read_permission (pyfakefs.tests.fake_pathlib_test.FakePathlibFileObjectPropertyTest) ... ok
 test_iterdir_in_unreadable_dir (pyfakefs.tests.fake_pathlib_test.FakePathlibFileObjectPropertyTest) ... ok
 test_lchmod (pyfakefs.tests.fake_pathlib_test.FakePathlibFileObjectPropertyTest) ... ok
 test_lstat_posix (pyfakefs.tests.fake_pathlib_test.FakePathlibFileObjectPropertyTest) ... ok
@@ -4632,6 +4756,8 @@
 test_is_dir (pyfakefs.tests.fake_pathlib_test.RealPathlibFileObjectPropertyTest) ... skipped 'Only tests fake FS'
 test_is_file (pyfakefs.tests.fake_pathlib_test.RealPathlibFileObjectPropertyTest) ... skipped 'Only tests fake FS'
 test_is_symlink (pyfakefs.tests.fake_pathlib_test.RealPathlibFileObjectPropertyTest) ... skipped 'Only tests fake FS'
+test_iterdir_and_glob_without_exe_permission (pyfakefs.tests.fake_pathlib_test.RealPathlibFileObjectPropertyTest) ... skipped 'Only tests fake FS'
+test_iterdir_impossible_without_read_permission (pyfakefs.tests.fake_pathlib_test.RealPathlibFileObjectPropertyTest) ... skipped 'Only tests fake FS'
 test_iterdir_in_unreadable_dir (pyfakefs.tests.fake_pathlib_test.RealPathlibFileObjectPropertyTest) ... skipped 'Only tests fake FS'
 test_lchmod (pyfakefs.tests.fake_pathlib_test.RealPathlibFileObjectPropertyTest) ... skipped 'Only tests fake FS'
 test_lstat_posix (pyfakefs.tests.fake_pathlib_test.RealPathlibFileObjectPropertyTest) ... skipped 'Only tests fake FS'
@@ -4740,25 +4866,26 @@
 Regression test for #915 - walk results shall be strings. ... skipped 'Only tests fake FS'
 
 ----------------------------------------------------------------------
-Ran 2153 tests
+Ran 2216 tests
 
-OK (skipped=868, expected failures=2)
+OK (skipped=908, expected failures=2)
 py$(PYV): commands[2]> python -m pytest pyfakefs/pytest_tests/pytest_plugin_test.py
 ============================= test session starts ==============================
 platform sunos5 -- Python $(PYTHON_VERSION).X -- $(@D)/.tox/py$(PYV)/bin/python
 cachedir: .tox/py$(PYV)/.pytest_cache
 rootdir: $(@D)
+configfile: pyproject.toml
 collecting ... collected 9 items
 
-pyfakefs/pytest_tests/pytest_plugin_test.py::test_both_fixtures PASSED
 pyfakefs/pytest_tests/pytest_plugin_test.py::test_fs_fixture PASSED
 pyfakefs/pytest_tests/pytest_plugin_test.py::test_fs_fixture_alias PASSED
+pyfakefs/pytest_tests/pytest_plugin_test.py::test_both_fixtures PASSED
 pyfakefs/pytest_tests/pytest_plugin_test.py::test_pause_resume PASSED
 pyfakefs/pytest_tests/pytest_plugin_test.py::test_pause_resume_contextmanager PASSED
+pyfakefs/pytest_tests/pytest_plugin_test.py::test_use_own_io_module PASSED
+pyfakefs/pytest_tests/pytest_plugin_test.py::test_switch_to_windows PASSED
 pyfakefs/pytest_tests/pytest_plugin_test.py::test_switch_to_linux PASSED
 pyfakefs/pytest_tests/pytest_plugin_test.py::test_switch_to_macos PASSED
-pyfakefs/pytest_tests/pytest_plugin_test.py::test_switch_to_windows PASSED
-pyfakefs/pytest_tests/pytest_plugin_test.py::test_use_own_io_module PASSED
 
 ======== 9 passed ========
   py$(PYV): OK

--
Gitblit v1.9.3