Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove debug output accidentally left in #871

Merged
merged 3 commits into from
Aug 24, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/testsuite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest, macOS-latest, windows-latest]
python-version: [3.7, 3.8, 3.9, "3.10", "3.11", "3.12-dev"]
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12-dev"]
include:
- python-version: "pypy-3.7"
os: ubuntu-latest
Expand Down Expand Up @@ -100,8 +100,8 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest, macOS-latest, windows-latest]
python-version: [3.9]
pytest-version: [3.0.0, 3.5.1, 4.0.2, 4.5.0, 5.0.1, 5.4.3, 6.0.2, 6.2.5, 7.0.1, 7.1.3, 7.2.0, 7.3.1]
python-version: ["3.9"]
pytest-version: [3.0.0, 3.5.1, 4.0.2, 4.5.0, 5.0.1, 5.4.3, 6.0.2, 6.2.5, 7.0.1, 7.1.3, 7.2.0, 7.3.1, 7.4.0]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
Expand Down Expand Up @@ -133,7 +133,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
python-version: [3.9]
python-version: ["3.10"]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
Expand Down
7 changes: 7 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@ The released versions correspond to PyPI releases.

## Unreleased

### Changes
* removed support for Python 3.7 (end of life)

### Fixes
* removed a leftover debug print statement (see [#869](../../issues/869))
* make sure tests work without HOME environment set (see [#870](../../issues/870))

## [Version 5.2.3](https://pypi.python.org/pypi/pyfakefs/5.2.3) (2023-08-18)
Fixes a rare problem on pytest shutdown.

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ provides some additional features:
under root

## Compatibility
pyfakefs works with CPython 3.7 and above, on Linux, Windows and macOS, and
pyfakefs works with CPython 3.8 and above, on Linux, Windows and macOS, and
with PyPy3.

pyfakefs works with [pytest](http://doc.pytest.org) version 3.0.0 or above,
Expand All @@ -73,7 +73,7 @@ for more information about the limitations of pyfakefs.
### Continuous integration

pyfakefs is currently automatically tested on Linux, macOS and Windows, with
Python 3.7 to 3.11, and with PyPy3 on Linux, using
Python 3.8 to 3.12, and with PyPy3 on Linux, using
[GitHub Actions](https://github.com/pytest-dev/pyfakefs/actions).

### Running pyfakefs unit tests
Expand Down
2 changes: 1 addition & 1 deletion docs/intro.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ 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 CPython 3.7 and above, on Linux, Windows and macOS,
pyfakefs works with CPython 3.8 and above, on Linux, Windows and macOS,
and with PyPy3.

pyfakefs works with `pytest <doc.pytest.org>`__ version 3.0.0 or above by
Expand Down
2 changes: 1 addition & 1 deletion extra_requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,5 @@ scandir>=1.8
# we use the latest version to see any problems with new versions
pandas==1.3.5; python_version == '3.7' # pyup: ignore
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this line should be removed (and the next one updated).

Copy link
Member Author

@mrbean-bremen mrbean-bremen Aug 24, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left it in as we still test PyPy 3.7 (which is not end of life yet).

pandas==2.0.3; python_version > '3.7'
xlrd==2.0.1; python_version > '3.6'
xlrd==2.0.1
openpyxl==3.1.2
1 change: 0 additions & 1 deletion pyfakefs/fake_filesystem_unittest.py
Original file line number Diff line number Diff line change
Expand Up @@ -632,7 +632,6 @@ def __init__(
@classmethod
def clear_fs_cache(cls) -> None:
"""Clear the module cache."""
print("Clearing the cache")
cls.CACHED_MODULES = set()
cls.FS_MODULES = {}
cls.FS_FUNCTIONS = {}
Expand Down
26 changes: 16 additions & 10 deletions pyfakefs/tests/fake_filesystem_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
import stat
import sys
import unittest
from unittest.mock import patch

from pyfakefs import fake_filesystem, fake_os, fake_open
from pyfakefs.fake_filesystem import (
Expand Down Expand Up @@ -1061,17 +1062,22 @@ def test_join_bytes(self):
components = [b"foo", b"bar", b"baz"]
self.assertEqual(b"foo!bar!baz", self.path.join(*components))

@unittest.skipIf(sys.platform != "win32", "Windows specific test")
@patch.dict(os.environ, {"USERPROFILE": r"C:\Users\John"})
def test_expand_user_windows(self):
self.assertEqual(self.path.expanduser("~"), "C:!Users!John")

@unittest.skipIf(sys.platform == "win32", "Posix specific test")
@patch.dict(os.environ, {"HOME": "/home/john"})
def test_expand_user(self):
if self.is_windows:
self.assertEqual(
self.path.expanduser("~"),
self.os.environ["USERPROFILE"].replace("\\", "!"),
)
else:
self.assertEqual(
self.path.expanduser("~"),
self.os.environ["HOME"].replace("/", "!"),
)
self.assertEqual(self.path.expanduser("~"), "!home!john")

@patch.dict(os.environ, {}, clear=True)
def test_expand_user_no_home_environment(self):
"""Make sure this also works without HOME / USERPROFILE set"""
# we just check that it does not crash and has some result,
# as the result is system-dependent
self.assertTrue(self.path.expanduser("~"))

@unittest.skipIf(
TestCase.is_windows or TestCase.is_cygwin,
Expand Down
1 change: 1 addition & 0 deletions pyfakefs/tests/fake_filesystem_unittest_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -815,6 +815,7 @@ class TestOtherFS(fake_filesystem_unittest.TestCase):
def setUp(self):
self.setUpPyfakefs()

@mock.patch.dict(os.environ, {"HOME": "/home/john"})
def test_real_file_with_home(self):
"""Regression test for #558"""
self.fs.is_windows_fs = os.name != "nt"
Expand Down
41 changes: 25 additions & 16 deletions pyfakefs/tests/fake_pathlib_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import unittest
from collections import namedtuple
from unittest import mock
from unittest.mock import patch

from pyfakefs import fake_pathlib, fake_filesystem, fake_filesystem_unittest, fake_os
from pyfakefs.fake_filesystem import OSType
Expand Down Expand Up @@ -461,23 +462,31 @@ def test_cwd(self):
self.path.cwd(), self.path(self.os.path.realpath(dir_path))
)

def test_expanduser(self):
if is_windows:
self.assertEqual(
self.path("~").expanduser(),
self.path(os.environ["USERPROFILE"].replace("\\", "/")),
)
else:
self.assertEqual(self.path("~").expanduser(), self.path(os.environ["HOME"]))
@unittest.skipIf(sys.platform != "win32", "Windows specific test")
@patch.dict(os.environ, {"USERPROFILE": r"C:\Users\John"})
def test_expanduser_windows(self):
self.assertEqual(
self.path("~").expanduser(),
self.path("C:/Users/John"),
)

def test_home(self):
if is_windows:
self.assertEqual(
self.path(os.environ["USERPROFILE"].replace("\\", "/")),
self.path.home(),
)
else:
self.assertEqual(self.path(os.environ["HOME"]), self.path.home())
@unittest.skipIf(sys.platform == "win32", "Posix specific test")
@patch.dict(os.environ, {"HOME": "/home/john"})
def test_expanduser_posix(self):
self.assertEqual(self.path("~").expanduser(), self.path("/home/john"))

@unittest.skipIf(sys.platform != "win32", "Windows specific test")
@patch.dict(os.environ, {"USERPROFILE": r"C:\Users\John"})
def test_home_windows(self):
self.assertEqual(
self.path(self.path("C:/Users/John")),
self.path.home(),
)

@unittest.skipIf(sys.platform == "win32", "Posix specific test")
@patch.dict(os.environ, {"HOME": "/home/john"})
def test_home_posix(self):
self.assertEqual(self.path("/home/john"), self.path.home())


class RealPathlibFileObjectPropertyTest(FakePathlibFileObjectPropertyTest):
Expand Down
3 changes: 1 addition & 2 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ classifiers =
Intended Audience :: Developers
License :: OSI Approved :: Apache Software License
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Expand All @@ -50,7 +49,7 @@ universal = 0
[options]
packages = find:
install_requires =
python_requires = >=3.7
python_requires = >=3.8
test_suite = pyfakefs.tests
include_package_data = True

Expand Down