Metadata-Version: 1.1
Name: pyfakefs
Version: 3.1
Summary: pyfakefs implements a fake file system that mocks the Python file system modules.
Home-page: http://pyfakefs.org
Author: John McGehee
Author-email: pyfakefs@johnnado.com
License: UNKNOWN
Description: pyfakefs
        ========
        
        pyfakefs implements a fake file system that mocks the Python file system
        modules. Using pyfakefs, your tests operate on a fake file system in
        memory without touching the real disk. The software under test requires
        no modification to work with pyfakefs.
        
        pyfakefs works with Linux, Windows and MacOS.
        
        The current pyfakfs API is referenced in the `auto-generated
        documentation <http://jmcgeheeiv.github.io/pyfakefs/>`__. A list of
        changes in the latest versions can be found in the `Release
        Notes <CHANGES.md>`__.
        
        Usage
        -----
        
        There are two approaches to implementing tests using pyfakefs.
        
        The first method is to allow pyfakefs to automatically find all real
        file functions and modules, and stub these out with the fake file system
        functions and modules. This is explained in the `usage
        tutorial <http://github.com/jmcgeheeiv/pyfakefs/wiki/Tutorial>`__ and
        demonstrated by ``example.py`` and ``example_test.py``.
        
        The other approach is to do the patching yourself using
        ``mock.patch()``:
        
        .. code:: python
        
            import pyfakefs.fake_filesystem as fake_fs
        
            # Create a faked file system
            fs = fake_fs.FakeFilesystem()
        
            # Do some setup on the faked file system
            fs.CreateFile('/var/data/xx1.txt')
            fs.CreateFile('/var/data/xx2.txt')
        
            # Replace some built-in file system related modules you use with faked ones
        
            # Assuming you are using the mock library to ... mock things
            try:
                from unittest.mock import patch  # In Python 3, mock is built-in
            except ImportError:
                from mock import patch  # Python 2
        
            import pyfakefs.fake_filesystem_glob as fake_glob
        
            # Note that this fake module is based on the fake fs you just created
            glob = fake_glob.FakeGlobModule(fs)
            with patch('mymodule.glob', glob):
                print(glob.glob('/var/data/xx*'))
        
        Usage as a Pytest Plugin
        ~~~~~~~~~~~~~~~~~~~~~~~~
        
        Installation of pyfakefs also provides a `PyTest <doc.pytest.org>`__
        plugin. The plugin makes the ``fs`` fixture available for any test. For
        example:
        
        ::
        
            def my_fakefs_test(fs):
                # "fs" is the reference to the fake file system
                fs.CreateFile('/var/data/xx1.txt')
                assert os.path.exists('/var/data/xx1.txt')
        
        Similar to the unittest class (``fake_filesystem_unittest.TestCase``),
        the ``fs`` fixture stubs out all file system functions and modules.
        
        Continuous Integration
        ----------------------
        
        pyfakefs is automatically tested with Python 2.6 and above, and it is
        currently |Build Status|.
        
        See `Travis-CI <http://travis-ci.org>`__ for `test results for each
        Python version <https://travis-ci.org/jmcgeheeiv/pyfakefs>`__.
        
        Installation
        ------------
        
        Compatibility
        ~~~~~~~~~~~~~
        
        pyfakefs works with Python 2.6 and above, on Linux, Windows and OSX
        (MacOS).
        
        pyfakefs requires `mox3 <https://pypi.python.org/pypi/mox3>`__.
        
        pyfakefs works with `PyTest <doc.pytest.org>`__ version 2.8.6 or above.
        
        PyPi
        ~~~~
        
        `pyfakefs is available on
        PyPi <https://pypi.python.org/pypi/pyfakefs/>`__.
        
        History
        -------
        
        pyfakefs.py was initially developed at Google by Mike Bland as a modest
        fake implementation of core Python modules. It was introduced to all of
        Google in September 2006. Since then, it has been enhanced to extend its
        functionality and usefulness. At Google alone, pyfakefs is used in over
        2,000 Python tests.
        
        Google released pyfakefs to the public in 2011 as Google Code project
        `pyfakefs <http://code.google.com/p/pyfakefs/>`__.
        
        Fork
        `jmcgeheeiv-pyfakefs <http://code.google.com/p/jmcgeheeiv-pyfakefs/>`__
        added a `usage
        tutorial <http://github.com/jmcgeheeiv/pyfakefs/wiki/Tutorial>`__,
        direct support for
        `unittest <http://docs.python.org/2/library/unittest.html>`__ and
        `doctest <http://docs.python.org/2/library/doctest.html>`__.
        
        Fork
        `shiffdane-jmcgeheeiv-pyfakefs <http://code.google.com/p/shiffdane-jmcgeheeiv-pyfakefs/>`__
        added further corrections.
        
        After the `shutdown of Google Code was
        announced, <http://google-opensource.blogspot.com/2015/03/farewell-to-google-code.html>`__
        John McGehee merged all three Google Code projects together here on
        GitHub where an enthusiastic community actively maintains and extends
        pyfakefs.
        
        .. |Build Status| image:: https://travis-ci.org/jmcgeheeiv/pyfakefs.svg
           :target: https://travis-ci.org/jmcgeheeiv/pyfakefs
        
Keywords: testing,test,file,os,shutil,glob,mocking,unittest,fakes,filesystem,unit
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Operating System :: POSIX
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Testing
Classifier: Topic :: System :: Filesystems
