Commits

Victor Stinner committed 68bc1a2

Issue #12451: Open files in binary mode in some tests when the text file is not
needed.

Remove also an unused variable (blank) in test_threading.

Comments (0)

Files changed (5)

Lib/test/test_fcntl.py

 
     def test_fcntl_fileno(self):
         # the example from the library docs
-        self.f = open(TESTFN, 'w')
+        self.f = open(TESTFN, 'wb')
         rv = fcntl.fcntl(self.f.fileno(), fcntl.F_SETFL, os.O_NONBLOCK)
         if verbose:
             print('Status from fcntl with O_NONBLOCK: ', rv)
 
     def test_fcntl_file_descriptor(self):
         # again, but pass the file rather than numeric descriptor
-        self.f = open(TESTFN, 'w')
+        self.f = open(TESTFN, 'wb')
         rv = fcntl.fcntl(self.f, fcntl.F_SETFL, os.O_NONBLOCK)
         if sys.platform not in ['os2emx']:
             rv = fcntl.fcntl(self.f, fcntl.F_SETLKW, lockdata)

Lib/test/test_ioctl.py

 get_attribute(termios, 'TIOCGPGRP') #Can't run tests without this feature
 
 try:
-    tty = open("/dev/tty", "r")
+    tty = open("/dev/tty", "rb")
 except IOError:
     raise unittest.SkipTest("Unable to open /dev/tty")
 else:
         # If this process has been put into the background, TIOCGPGRP returns
         # the session ID instead of the process group id.
         ids = (os.getpgrp(), os.getsid(0))
-        with open("/dev/tty", "r") as tty:
+        with open("/dev/tty", "rb") as tty:
             r = fcntl.ioctl(tty, termios.TIOCGPGRP, "    ")
             rpgrp = struct.unpack("i", r)[0]
             self.assertIn(rpgrp, ids)
             self.assertEqual(len(buf) * intsize, nbytes)   # sanity check
         else:
             buf.append(fill)
-        with open("/dev/tty", "r") as tty:
+        with open("/dev/tty", "rb") as tty:
             r = fcntl.ioctl(tty, termios.TIOCGPGRP, buf, 1)
         rpgrp = buf[0]
         self.assertEqual(r, 0)

Lib/test/test_mmap.py

 
             # Check that the underlying file is truncated too
             # (bug #728515)
-            f = open(TESTFN)
+            f = open(TESTFN, 'rb')
             try:
                 f.seek(0, 2)
                 self.assertEqual(f.tell(), 512)
         f.write(2**16 * b'a') # Arbitrary character
         f.close()
 
-        f = open(TESTFN)
+        f = open(TESTFN, 'rb')
         mf = mmap.mmap(f.fileno(), 2**16, access=mmap.ACCESS_READ)
         mf.close()
         mf.close()
                 self.assertEqual(m[0:3], b'foo')
 
                 # Check that the underlying file is truncated too
-                f = open(TESTFN)
+                f = open(TESTFN, 'rb')
                 f.seek(0, 2)
                 self.assertEqual(f.tell(), halfsize + 512)
                 f.close()

Lib/test/test_os.py

 
 class DevNullTests(unittest.TestCase):
     def test_devnull(self):
-        f = open(os.devnull, 'w')
-        f.write('hello')
-        f.close()
-        f = open(os.devnull, 'r')
-        self.assertEqual(f.read(), '')
-        f.close()
+        with open(os.devnull, 'wb') as f:
+            f.write(b'hello')
+            f.close()
+        with open(os.devnull, 'rb') as f:
+            self.assertEqual(f.read(), b'')
 
 class URandomTests(unittest.TestCase):
     def test_urandom(self):
 
         def test_open(self):
             for fn in self.unicodefn:
-                f = open(os.path.join(self.dir, fn))
+                f = open(os.path.join(self.dir, fn), 'rb')
                 f.close()
 
         def test_stat(self):

Lib/test/test_threading.py

 
             def random_io():
                 '''Loop for a while sleeping random tiny amounts and doing some I/O.'''
-                blank = b'x' * 200
                 while True:
-                    in_f = open(os.__file__, 'r')
+                    in_f = open(os.__file__, 'rb')
                     stuff = in_f.read(200)
-                    null_f = open(os.devnull, 'w')
+                    null_f = open(os.devnull, 'wb')
                     null_f.write(stuff)
                     time.sleep(random.random() / 1995)
                     null_f.close()
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.