From: Artem Bityutskiy Date: Tue, 27 Nov 2012 08:52:54 +0000 (+0200) Subject: tests: assign better names to temporary files X-Git-Tag: v1.0~39 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1282b649bbaa8510506cf40847edcfb620d02ccb;p=tools%2Fbmap-tools.git tests: assign better names to temporary files When creating temporary files, add prefixes and suffixes which make it easy to understand what is the file. This makes debugging a lot easier, although the code becomes a bit more complex. Change-Id: Ieba77821c3d97ed080fbc22b889d77cb640312c6 Signed-off-by: Artem Bityutskiy --- diff --git a/tests/helpers.py b/tests/helpers.py index 1d033ee..6e07e52 100644 --- a/tests/helpers.py +++ b/tests/helpers.py @@ -58,50 +58,79 @@ def generate_test_files(max_size = 4 * 1024 * 1024): Returns a tuple consisting of the open file object and a list of unmapped block ranges (holes) in the file. """ - file_obj = tempfile.NamedTemporaryFile("wb+") - block_size = BmapHelpers.get_block_size(file_obj) - # # Generate sparse files with one single hole spanning the entire file # # A block-sized hole + file_obj = tempfile.NamedTemporaryFile("wb+", prefix = "4Khole_", + suffix = ".img") + block_size = BmapHelpers.get_block_size(file_obj) file_obj.truncate(block_size) yield (file_obj, [(0, 0)]) + file_obj.close() - # A block size +/- 1 byte hole + # A block size + 1 byte hole + file_obj = tempfile.NamedTemporaryFile("wb+", prefix = "4Khole_plus_1_", + suffix = ".img") file_obj.truncate(block_size + 1) yield (file_obj, [(0, 0)]) + file_obj.close() + + # A block size - 1 byte hole + file_obj = tempfile.NamedTemporaryFile("wb+", prefix = "4Khole_minus_1_", + suffix = ".img") file_obj.truncate(block_size - 1) yield (file_obj, [(0, 0)]) + file_obj.close() # A 1-byte hole + file_obj = tempfile.NamedTemporaryFile("wb+", prefix = "1byte_hole_", + suffix = ".img") file_obj.truncate(1) yield (file_obj, [(0, 0)]) + file_obj.close() # And 10 holes of random size - for size in [random.randint(1, max_size) for _ in xrange(10)]: + for i in xrange(10): + size = random.randint(1, max_size) + file_obj = tempfile.NamedTemporaryFile("wb+", suffix = ".img", + prefix = "rand_hole_%d_" % i) file_obj.truncate(size) blocks_cnt = (size + block_size - 1) / block_size yield (file_obj, [(0, blocks_cnt - 1)]) + file_obj.close() # # Generate a random sparse files # # The maximum size + file_obj = tempfile.NamedTemporaryFile("wb+", prefix = "sparse_", + suffix = ".img") holes = create_random_sparse_file(file_obj, max_size) yield (file_obj, holes) + file_obj.close() - # The maximum size +/- 1 byte + # The maximum size + 1 byte + file_obj = tempfile.NamedTemporaryFile("wb+", prefix = "sparse_plus_1_", + suffix = ".img") holes = create_random_sparse_file(file_obj, max_size + 1) yield (file_obj, holes) + file_obj.close() + + # The maximum size - 1 byte + file_obj = tempfile.NamedTemporaryFile("wb+", prefix = "sparse_minus_1_", + suffix = ".img") holes = create_random_sparse_file(file_obj, max_size - 1) yield (file_obj, holes) + file_obj.close() # And 10 files of random size - for size in [random.randint(1, max_size) for _ in xrange(10)]: + for i in xrange(10): + size = random.randint(1, max_size) + file_obj = tempfile.NamedTemporaryFile("wb+", suffix = ".img", + prefix = "sparse_%d_" % i) holes = create_random_sparse_file(file_obj, size) yield (file_obj, holes) - - file_obj.close() + file_obj.close() diff --git a/tests/test_api_base.py b/tests/test_api_base.py index 9e9368c..131a489 100644 --- a/tests/test_api_base.py +++ b/tests/test_api_base.py @@ -8,6 +8,7 @@ file and the copy and verifies that they are identical. """ # * Too many public methods - R0904 # pylint: disable=R0902,R0904 +import os import tempfile import filecmp import hashlib @@ -46,8 +47,13 @@ def _generate_compressed_files(file_obj): import gzip import shutil + # Make sure the temporary files start with the same name as 'file_obj' in + # order to simplify debugging. + prefix = os.path.splitext(os.path.basename(file_obj.name))[0] + '.' + # Generate a .bz2 version of the file - tmp_file_obj = tempfile.NamedTemporaryFile('wb+', suffix = '.bz2') + tmp_file_obj = tempfile.NamedTemporaryFile('wb+', prefix = prefix, + suffix = '.bz2') bz2_file_obj = bz2.BZ2File(tmp_file_obj.name, 'wb') file_obj.seek(0) shutil.copyfileobj(file_obj, bz2_file_obj) @@ -56,7 +62,8 @@ def _generate_compressed_files(file_obj): tmp_file_obj.close() # Generate a .gz version of the file - tmp_file_obj = tempfile.NamedTemporaryFile('wb+', suffix = '.gz') + tmp_file_obj = tempfile.NamedTemporaryFile('wb+', prefix = prefix, + suffix = '.gz') gzip_file_obj = gzip.GzipFile(tmp_file_obj.name, 'wb') file_obj.seek(0) shutil.copyfileobj(file_obj, gzip_file_obj) @@ -87,12 +94,19 @@ def _do_test(f_image): to a different file, and then checks that the original file and the copy are identical. """ + # Make sure the temporary files start with the same name as 'f_image' in + # order to simplify debugging. + prefix = os.path.splitext(os.path.basename(f_image.name))[0] + '.' + # Create and open a temporary file for a copy of the copy - f_copy = tempfile.NamedTemporaryFile("wb+") + f_copy = tempfile.NamedTemporaryFile("wb+", prefix = prefix, + suffix = ".copy") # Create and open 2 temporary files for the bmap - f_bmap1 = tempfile.NamedTemporaryFile("w+") - f_bmap2 = tempfile.NamedTemporaryFile("w+") + f_bmap1 = tempfile.NamedTemporaryFile("w+", prefix = prefix, + suffix = ".bmap1") + f_bmap2 = tempfile.NamedTemporaryFile("w+", prefix = prefix, + suffix = ".bmap2") image_sha1 = _calculate_sha1(f_image)