bpo-34239: Convert test_bz2 to use tempfile (#8485)

* bpo-34239: Convert test_bz2 to use tempfile

test_bz2 currently uses the test.support.TESTFN functionality which creates a temporary file local to the test directory named around the pid.

This can give rise to race conditions where tests are competing with each other to delete and recreate the file.

This change converts the tests to use tempfile.mkstemp which gives a different file every time from the system's temp area
This commit is contained in:
Tim Golden 2018-07-26 22:05:00 +01:00 committed by GitHub
parent 56b29b6d6f
commit 6a62e1d365
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 2 deletions

View File

@ -6,6 +6,7 @@ from io import BytesIO, DEFAULT_BUFFER_SIZE
import os
import pickle
import glob
import tempfile
import pathlib
import random
import shutil
@ -76,11 +77,14 @@ class BaseTest(unittest.TestCase):
BIG_DATA = bz2.compress(BIG_TEXT, compresslevel=1)
def setUp(self):
self.filename = support.TESTFN
fd, self.filename = tempfile.mkstemp()
os.close(fd)
def tearDown(self):
if os.path.isfile(self.filename):
try:
os.unlink(self.filename)
except FileNotFoundError:
pass
class BZ2FileTest(BaseTest):