]> granicus.if.org Git - python/commitdiff
Issue #17401: Output the closefd attribute as boolean.
authorSerhiy Storchaka <storchaka@gmail.com>
Tue, 2 Dec 2014 21:39:56 +0000 (23:39 +0200)
committerSerhiy Storchaka <storchaka@gmail.com>
Tue, 2 Dec 2014 21:39:56 +0000 (23:39 +0200)
Lib/test/test_fileio.py
Modules/_io/fileio.c

index 7c1a5cebea152f918bac6ffc4ab04e060775e4bc..743ca5c73ce1c47af7fea81914220365bbe5519f 100644 (file)
@@ -113,15 +113,25 @@ class AutoFileTests(unittest.TestCase):
 
     def testRepr(self):
         self.assertEqual(
-            repr(self.f), "<_io.FileIO name=%r mode=%r closefd='%d'>"
-                          % (self.f.name, self.f.mode, self.f.closefd))
+            repr(self.f), "<_io.FileIO name=%r mode=%r closefd=True>"
+                          % (self.f.name, self.f.mode))
         del self.f.name
         self.assertEqual(
-            repr(self.f), "<_io.FileIO fd=%r mode=%r closefd='%d'>"
-                          % (self.f.fileno(), self.f.mode, self.f.closefd))
+            repr(self.f), "<_io.FileIO fd=%r mode=%r closefd=True>"
+                          % (self.f.fileno(), self.f.mode))
         self.f.close()
         self.assertEqual(repr(self.f), "<_io.FileIO [closed]>")
 
+    def testReprNoCloseFD(self):
+        fd = os.open(TESTFN, os.O_RDONLY)
+        try:
+            with _FileIO(fd, 'r', closefd=False) as f:
+                self.assertEqual(repr(f),
+                                 "<_io.FileIO name=%r mode=%r closefd=False>"
+                                 % (f.name, f.mode))
+        finally:
+            os.close(fd)
+
     def testErrors(self):
         f = self.f
         self.assertTrue(not f.isatty())
index 5c1316e9f49f80f38390c3ca3bb77800db490a99..80af83a7a4945b1f2f7d200865edc0fc6f823e78 100644 (file)
@@ -1055,13 +1055,13 @@ fileio_repr(fileio *self)
         else
             return NULL;
         res = PyUnicode_FromFormat(
-           "<_io.FileIO fd=%d mode='%s' closefd='%d'>",
-           self->fd, mode_string(self), self->closefd);
+            "<_io.FileIO fd=%d mode='%s' closefd=%s>",
+            self->fd, mode_string(self), self->closefd ? "True" : "False");
     }
     else {
         res = PyUnicode_FromFormat(
-           "<_io.FileIO name=%R mode='%s' closefd='%d'>",
-           nameobj, mode_string(self), self->closefd);
+            "<_io.FileIO name=%R mode='%s' closefd=%s>",
+            nameobj, mode_string(self), self->closefd ? "True" : "False");
         Py_DECREF(nameobj);
     }
     return res;