blob: 92b49ff8e1c8a2b1d74fa852ad59166554176773 [file] [log] [blame]
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Example for a custom pytest fixture with an argument to Patcher.
# Use this as a template if you want to write your own pytest plugin
# with specific Patcher arguments.
# See `pytest_plugin.py` for more information.
import linecache
import tokenize
import py
import pytest
from pyfakefs.fake_filesystem_unittest import Patcher
Patcher.SKIPMODULES.add(pytest)
Patcher.SKIPMODULES.add(py)
Patcher.SKIPMODULES.add(linecache)
Patcher.SKIPMODULES.add(tokenize)
from pyfakefs.fake_filesystem_unittest import Patcher # noqa: E402
from pyfakefs.pytest_tests import example # noqa: E402
@pytest.fixture
def fs_reload_example():
""" Fake filesystem. """
patcher = Patcher(modules_to_reload=[example])
patcher.setUp()
linecache.open = patcher.original_open
tokenize._builtin_open = patcher.original_open
yield patcher.fs
patcher.tearDown()