[Piglit] [PATCH v3 3/3] framework: add support for bz2 compression.
Dylan Baker
baker.dylan.c at gmail.com
Mon Jun 29 16:27:39 PDT 2015
This adds bzip2 compression support to piglit. This produces a file that
is ~5% the size of the original uncompressed json file.
Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
---
framework/backends/compression.py | 9 +++++++--
framework/tests/compressed_backend_tests.py | 11 +++++++++++
piglit.conf.example | 8 ++++----
3 files changed, 22 insertions(+), 6 deletions(-)
diff --git a/framework/backends/compression.py b/framework/backends/compression.py
index 1bda991..71e4716 100644
--- a/framework/backends/compression.py
+++ b/framework/backends/compression.py
@@ -42,6 +42,7 @@ they're passing unicode and not bytes.
"""
from __future__ import print_function, absolute_import, division
+import bz2
import functools
import gzip
import os
@@ -49,16 +50,20 @@ import os
from framework import exceptions
from framework.core import PIGLIT_CONFIG
-COMPRESSION_SUFFIXES = ['.gz']
+# TODO: in python3 the bz2 module has an open function
-DEFAULT = 'gz'
+COMPRESSION_SUFFIXES = ['.gz', '.bz2']
+
+DEFAULT = 'bz2'
COMPRESSORS = {
+ 'bz2': functools.partial(bz2.BZ2File, mode='w'),
'gz': functools.partial(gzip.open, mode='w'),
'none': functools.partial(open, mode='w'),
}
DECOMPRESSORS = {
+ 'bz2': functools.partial(bz2.BZ2File, mode='r'),
'gz': functools.partial(gzip.open, mode='r'),
'none': functools.partial(open, mode='r'),
}
diff --git a/framework/tests/compressed_backend_tests.py b/framework/tests/compressed_backend_tests.py
index 4a7db75..d2ed20f 100644
--- a/framework/tests/compressed_backend_tests.py
+++ b/framework/tests/compressed_backend_tests.py
@@ -77,3 +77,14 @@ def test_compress_gz():
def test_decompress_gz():
"""framework.backends.compression: can decompress from 'gz'"""
_test_decompressor('gz')
+
+
+ at utils.no_error
+def test_compress_bz2():
+ """framework.backends.compression: can compress to 'bz2'"""
+ _test_compressor('bz2')
+
+
+def test_decompress_bz2():
+ """framework.backends.compression: can decompress from 'bz2'"""
+ _test_decompressor('bz2')
diff --git a/piglit.conf.example b/piglit.conf.example
index baf8108..3888fc6 100644
--- a/piglit.conf.example
+++ b/piglit.conf.example
@@ -110,10 +110,10 @@ run_test=./%(test_name)s
; -b/--backend
;backend=json
-; Set the default compression method to use,
-; May be one of: 'none', 'gz'
-; Default: 'gz'
-;compression=gz
+; Set the default compression method to use for results
+; May be one of: 'none', 'gz', 'bz2'
+; Default: 'bz2'
+;compression=bz2
[expected-failures]
; Provide a list of test names that are expected to fail. These tests
--
2.4.3
More information about the Piglit
mailing list