From 05d041b1c618d6400bc10544865c3998a3d87131 Mon Sep 17 00:00:00 2001 From: Jake Hunsaker Date: Wed, 5 May 2021 11:20:09 -0400 Subject: [archive] Don't shell out for compressing the archive As sos is now python3-only, we can avoid shelling-out to compression utilities like `xz` or `gzip`, and instead use the method provided by the built-in `tarfile` module. Resolves: #2523 Signed-off-by: Jake Hunsaker --- tests/report_tests/compression_tests.py | 35 +++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 tests/report_tests/compression_tests.py (limited to 'tests/report_tests') diff --git a/tests/report_tests/compression_tests.py b/tests/report_tests/compression_tests.py new file mode 100644 index 00000000..95fba481 --- /dev/null +++ b/tests/report_tests/compression_tests.py @@ -0,0 +1,35 @@ +# This file is part of the sos project: https://github.com/sosreport/sos +# +# This copyrighted material is made available to anyone wishing to use, +# modify, copy, or redistribute it subject to the terms and conditions of +# version 2 of the GNU General Public License. +# +# See the LICENSE file in the source distribution for further information. + + +from sos_tests import StageOneReportTest + + +class AutoCompressionTest(StageOneReportTest): + """Tests to ensure that 'auto' defaults to lzma, as it is in the standard + library + + :avocado: tags=stageone + """ + + sos_cmd = '-o kernel -z auto' + + def test_lzma_compressed(self): + self.assertTrue(self.archive.endswith('.tar.xz')) + + +class GzipCompressionTest(StageOneReportTest): + """Tests to ensure that users can manually specify the use of gzip + + :avocado: tags=stageone + """ + + sos_cmd = '-o kernel -z gzip' + + def test_gzip_compressed(self): + self.assertTrue(self.archive.endswith('.tar.gz')) -- cgit