2b8a1f3eb5- update to 5.8.0: * Adds preliminary support for Python 3.14. * added some preliminary support for Python 3.14 * change behavior of FakeFilesystem.get_object() to ignore permissions as it has been * before version 5.4.0 (see #1122) * fixed a problem with flushing if writing over the buffer end * (see #1120) * fixed a regression that could break tests under Posix in Python 3.12 * (see #1126) * fixed behavior for os.access for symlinks under Windows * fixed permission problem on querying file properties (see #1122) * fixed patching in pytest setup phase for module and session- scoped fs fixtures * fixed a problem with module and session scoped fixtures in Python 3.13 * fixed handling of cwd if set to a pathlib.Path (see #1108) * fixed documentation for cleanup handlers, added convenience handler reload_cleanup_handler * Fixes some problems with patching. * added some support for loading fake modules in AUTO patch mode using importlib.import_module (see #1079) * added some support to avoid patching debugger related modules * avoid reloading tempfile in Posix systems * Adds official Python 3.13 support, improves OS emulation behavior. * avoid reloading glob in Python 3.13Dirk Mueller2025-04-28 16:33:52 +00:00
399610bc42Accepting request 1189768 from home:glaubitz:branches:devel:languages:pythonMarkéta Machová2024-07-26 13:29:40 +00:00
6de3fe28c1Accepting request 1169537 from devel:languages:pythonAna Guerrero2024-04-23 16:55:01 +00:00
1607220516- update to 5.4.1: * fixed a regression from version 5.4.0 that incorrectly handled files opened twice via file descriptor - update to 5.4.0 * Improves permission handling. * added support for O_NOFOLLOW and O_DIRECTORY flags in os.open * added support for fake os.dup, os.dup2 and os.lseek * fixed a specific problem on reloading a pandas-related module * added possibility for unload hooks for specific modules use this also to reload django views (see #932) * fixed EncodingWarning for Python >= 3.11 (see #957) consider directory ownership while adding or removing directory entries * fixed handling of directory enumeration and search permissions under Posix systems * fixed creation of the temp directory in the fake file system after a filesystem reset * fixed handling of dirfd in os.symlink (see #968) * add missing follow_symlink argument to os.link (see #973) * fixed handling of missing attribute in os.getxattr (see * fixed permission problem with shutil.rmtree if emulating Windows under POSIX * fixed handling of errors on opening files via file descriptor * fixed handling of umask - it is now applied by default * fixed behavior of os.makedirs (see #987)Dirk Mueller2024-04-21 08:46:24 +00:00
169695ab18Accepting request 1143996 from devel:languages:pythonAna Guerrero2024-02-06 15:32:27 +00:00
7bd5d1796b- update to 5.3.5: * Fixes a regression due to the changed behavior of the dynamic patcher cleanup (see #939). * The change is now by default only made if the django module is loaded, and the behavior can * be changed using the new argument module_cleanup_mode.Dirk Mueller2024-02-04 12:24:20 +00:00
6851ff315bAccepting request 1141813 from devel:languages:pythonAna Guerrero2024-01-29 21:25:57 +00:00
dff2c9aca1- update to 5.3.4: * fixes handling of unhashable modules which cannot be cached (see #923) * reload modules loaded by the dynamic patcher instead of removing them - sometimes they may * not be reloaded automatically (see #932) * add back argument use_dynamic_patch as a fallback for similar problems * fixed a problem with patching _io under Python 3.12 (see #910) * fixed a problem with accessing the temp path if emulating Linux under Windows * (see #912) * fixed result of os.walk with a path-like top directory * (see #915) * properly fixed the problem that filesystem patching was still active in the pytest * logreport phase (see #904), the previous fix was incomplete * changed behavior of add_real_directory to be able to map a real directory * Restores compatibility with PyTorch 2.0 and above, as well as with other classes that have custom __setattr__ methods (see #905). * Adds official support for Python 3.12. * removed a leftover debug print statement (see #869) * make sure tests work without HOME environment set (see #870) * automount drive or UNC path under Windows if needed for pathlib.Path.mkdir() * (see #890) * adapt patching io.open and io.open_code to work withDirk Mueller2024-01-26 21:22:34 +00:00
00420f56e2Accepting request 1109529 from devel:languages:pythonAna Guerrero2023-09-08 19:15:06 +00:00
5875baf218- update to 5.2.4: * Fixes a rare problem on pytest shutdown. * Adds compatibility with PyPy 3.10 and Python 3.12. fake_path.FakePathModule, fake_io.FakeIoModule and - Update to version 5.0.0 - Update to version 4.7.0 - Update to version 3.5.2 - Added support for path-like objects as arguments in create_file(), - readline() did not work correctly in binary mode - several functions did not behave correctly for paths ending with a - Initial packaging of version 3.4.1Dirk Mueller2023-09-07 11:35:42 +00:00
89a75aac61- update to 5.2.2: * Made the user and group IDs accessible via dedicated `get_uid and get_gid functions (for symmetry to set_uid / set_gid) * The test fixture is now included in the source distribution and installed with the package. * Some public constants in fake_filesystem that had been moved to helpers are made accessible from there again * Add missing fake implementations for os.getuid and os.getgid (Posix only) * Make sure a /tmp path exists under linux (TMPDIR may point elsewhere) * Support for latest Python 3.12 version. * Properties defining the capabilities of some os functions like os.supports_follow_symlinks are now properly faked to contain the fake functions if the real functions are faked * Supports current Python 3.12 version (alpha 6). We plan to make patch releases in case of breaking changes in alpha or beta versions. * Fake module classes previously defined in fake_filesystem have now moved to their own modules: fake_os.FakeOsModule, fake_path.FakePathModule, fake_io.FakeIoModule and fake_open.FakeFileOpen. * Patching of parsers for pandas >= 1.2 is removed since pandas now uses Python fs functions internally even when the engine selected is "c". * added possibility to set a path inaccessible under Windows by using chown() with the force_unix_mode flag (see #720) * added class level setup method setUpClassPyfakefs` for unittest and class-scopedDirk Mueller2023-05-10 07:08:54 +00:00
e804cd0f77- Update to 4.5.3: * New Features + added support for some Python 3.10 features: + new method pathlib.Path.hardlink_to + new newline argument in pathlib.Path.write_text + new follow_symlinks argument in pathlib.Path.stat and pathlib.Path.chmod + new 'strict' argument in os.path.realpath + added support for pathlib.Path.link_to (new in Python 3.8) (see #580) + added support for pathlib.Path.readlink (new in Python 3.9) (see #584) + added FakeFilesystem.create_link convenience method which creates intermittent directories (see #580) * Changes + Python 3.5 has reached its end of life in September 2020 and is no longer supported + pathlib2 is still supported, but considered to have the same functionality as pathlib and is no longer tested separately; the previous behavior broke newer pathlib features if pathlib2 was installed (see #592) + Added caching of patched modules to avoid lookup overhead + Added use_cache option and clear_cache method to be able to deal with unwanted side effects of the newly introduced caching + The patchfs decorator now expects a positional argument instead of the keyword arguments fs. This avoids confusion with the pytest fs fixture and conforms to the behavior of mock.patch. You may have to adapt the argument order if you use the patchfs and mock.patch decorators together (see #566) + Default arguments that are file system functions are now not patched by default to avoid a large performance impact. An additional parameter patch_default_args has been added that switches this behavior on (see #567). * Fixes + added handling of path-like where missing + improved handling of str/bytes paths + suppress all warnings while inspecting loaded modules (see #614) + do not import pandas and related modules if it is not patched (see #627) + handle pathlib.Path.owner() and pathlib.Path.group by returning the current user/group name (see #629) + fixed handling of use_known_patches=False (could cause an exception) + correctly handle byte paths in os.path.exists (see #595) + Update fake_pathlib to support changes coming in Python 3.10 (see + correctly handle UNC paths in os.path.split and in directory path evaluation (see #606) + fixed handling of pipe descriptors in the fake filesystem (see #581) + added non-functional argument effective_ids to os.access (see #585) + correctly handle os.file for unreadable files (see #588)Steve Kowalik2021-12-14 04:42:16 +00:00
4b5d7eb2f7- Update 3.6.1: * fix borked tests from 3.6
Tomáš Chvátal
2019-10-07 18:04:20 +00:00
1613009ca8- Update to 3.6: * fixed incorrect argument names for some os functions * fake DirEntry now implements os.PathLike in Python >= 3.6 (see #483) * fixed incorrect argument name for os.makedirs (see #481) * avoid pytest warning under Python 2.7 (see #466) * add next to FakeFileWrapper (see #485)
Tomáš Chvátal
2019-10-07 08:56:22 +00:00