mirror of
https://github.com/python/cpython.git
synced 2024-12-14 12:26:47 +08:00
Following Nick's suggestion, rename posix.fdlistdir() to posix.flistdir(), to
be consistent with other functions accepting file descriptors (fdlistdir() was added in 3.3, so hasn't been released yet).
This commit is contained in:
parent
9878b63c7c
commit
7794090251
@ -769,7 +769,7 @@ as internal buffering of data.
|
||||
.. versionadded:: 3.3
|
||||
|
||||
|
||||
.. function:: fdlistdir(fd)
|
||||
.. function:: flistdir(fd)
|
||||
|
||||
Like :func:`listdir`, but uses a file descriptor instead and always returns
|
||||
strings.
|
||||
|
@ -571,7 +571,7 @@ os
|
||||
|
||||
* Other new functions:
|
||||
|
||||
* :func:`~os.fdlistdir` (:issue:`10755`)
|
||||
* :func:`~os.flistdir` (:issue:`10755`)
|
||||
* :func:`~os.getgrouplist` (:issue:`9344`)
|
||||
|
||||
|
||||
|
@ -357,7 +357,7 @@ if _exists("openat"):
|
||||
# whether to follow symlinks
|
||||
flag = 0 if followlinks else AT_SYMLINK_NOFOLLOW
|
||||
|
||||
names = fdlistdir(topfd)
|
||||
names = flistdir(topfd)
|
||||
dirs, nondirs = [], []
|
||||
for name in names:
|
||||
# Here, we don't use AT_SYMLINK_NOFOLLOW to be consistent with
|
||||
|
@ -611,8 +611,8 @@ class FwalkTests(WalkTests):
|
||||
for root, dirs, files, rootfd in os.fwalk(*args):
|
||||
# check that the FD is valid
|
||||
os.fstat(rootfd)
|
||||
# check that fdlistdir() returns consistent information
|
||||
self.assertEqual(set(os.fdlistdir(rootfd)), set(dirs) | set(files))
|
||||
# check that flistdir() returns consistent information
|
||||
self.assertEqual(set(os.flistdir(rootfd)), set(dirs) | set(files))
|
||||
|
||||
def test_fd_leak(self):
|
||||
# Since we're opening a lot of FDs, we must be careful to avoid leaks:
|
||||
|
@ -451,18 +451,18 @@ class PosixTester(unittest.TestCase):
|
||||
if hasattr(posix, 'listdir'):
|
||||
self.assertTrue(support.TESTFN in posix.listdir())
|
||||
|
||||
@unittest.skipUnless(hasattr(posix, 'fdlistdir'), "test needs posix.fdlistdir()")
|
||||
def test_fdlistdir(self):
|
||||
@unittest.skipUnless(hasattr(posix, 'flistdir'), "test needs posix.flistdir()")
|
||||
def test_flistdir(self):
|
||||
f = posix.open(posix.getcwd(), posix.O_RDONLY)
|
||||
self.addCleanup(posix.close, f)
|
||||
self.assertEqual(
|
||||
sorted(posix.listdir('.')),
|
||||
sorted(posix.fdlistdir(f))
|
||||
sorted(posix.flistdir(f))
|
||||
)
|
||||
# Check that the fd offset was reset (issue #13739)
|
||||
self.assertEqual(
|
||||
sorted(posix.listdir('.')),
|
||||
sorted(posix.fdlistdir(f))
|
||||
sorted(posix.flistdir(f))
|
||||
)
|
||||
|
||||
def test_access(self):
|
||||
|
@ -1745,7 +1745,7 @@ Library
|
||||
|
||||
- Issue #11297: Add collections.ChainMap().
|
||||
|
||||
- Issue #10755: Add the posix.fdlistdir() function. Patch by Ross Lagerwall.
|
||||
- Issue #10755: Add the posix.flistdir() function. Patch by Ross Lagerwall.
|
||||
|
||||
- Issue #4761: Add the *at() family of functions (openat(), etc.) to the posix
|
||||
module. Patch by Ross Lagerwall.
|
||||
|
@ -2867,12 +2867,12 @@ posix_listdir(PyObject *self, PyObject *args)
|
||||
} /* end of posix_listdir */
|
||||
|
||||
#ifdef HAVE_FDOPENDIR
|
||||
PyDoc_STRVAR(posix_fdlistdir__doc__,
|
||||
"fdlistdir(fd) -> list_of_strings\n\n\
|
||||
PyDoc_STRVAR(posix_flistdir__doc__,
|
||||
"flistdir(fd) -> list_of_strings\n\n\
|
||||
Like listdir(), but uses a file descriptor instead.");
|
||||
|
||||
static PyObject *
|
||||
posix_fdlistdir(PyObject *self, PyObject *args)
|
||||
posix_flistdir(PyObject *self, PyObject *args)
|
||||
{
|
||||
PyObject *d, *v;
|
||||
DIR *dirp;
|
||||
@ -2880,7 +2880,7 @@ posix_fdlistdir(PyObject *self, PyObject *args)
|
||||
int fd;
|
||||
|
||||
errno = 0;
|
||||
if (!PyArg_ParseTuple(args, "i:fdlistdir", &fd))
|
||||
if (!PyArg_ParseTuple(args, "i:flistdir", &fd))
|
||||
return NULL;
|
||||
/* closedir() closes the FD, so we duplicate it */
|
||||
fd = dup(fd);
|
||||
@ -10555,7 +10555,7 @@ static PyMethodDef posix_methods[] = {
|
||||
#endif /* HAVE_LINK */
|
||||
{"listdir", posix_listdir, METH_VARARGS, posix_listdir__doc__},
|
||||
#ifdef HAVE_FDOPENDIR
|
||||
{"fdlistdir", posix_fdlistdir, METH_VARARGS, posix_fdlistdir__doc__},
|
||||
{"flistdir", posix_flistdir, METH_VARARGS, posix_flistdir__doc__},
|
||||
#endif
|
||||
{"lstat", posix_lstat, METH_VARARGS, posix_lstat__doc__},
|
||||
{"mkdir", posix_mkdir, METH_VARARGS, posix_mkdir__doc__},
|
||||
|
Loading…
Reference in New Issue
Block a user