| ## @file | |
| # Unit tests for TianoCompress utility | |
| # | |
| # Copyright (c) 2008, Intel Corporation. All rights reserved.<BR> | |
| # | |
| # SPDX-License-Identifier: BSD-2-Clause-Patent | |
| # | |
| ## | |
| # Import Modules | |
| # | |
| from __future__ import print_function | |
| import os | |
| import random | |
| import sys | |
| import unittest | |
| import TestTools | |
| class Tests(TestTools.BaseToolsTest): | |
| def setUp(self): | |
| TestTools.BaseToolsTest.setUp(self) | |
| self.toolName = 'TianoCompress' | |
| def testHelp(self): | |
| result = self.RunTool('--help', logFile='help') | |
| #self.DisplayFile('help') | |
| self.assertTrue(result == 0) | |
| def compressionTestCycle(self, data): | |
| path = self.GetTmpFilePath('input') | |
| self.WriteTmpFile('input', data) | |
| result = self.RunTool( | |
| '-e', | |
| '-o', self.GetTmpFilePath('output1'), | |
| self.GetTmpFilePath('input') | |
| ) | |
| self.assertTrue(result == 0) | |
| result = self.RunTool( | |
| '-d', | |
| '-o', self.GetTmpFilePath('output2'), | |
| self.GetTmpFilePath('output1') | |
| ) | |
| self.assertTrue(result == 0) | |
| start = self.ReadTmpFile('input') | |
| finish = self.ReadTmpFile('output2') | |
| startEqualsFinish = start == finish | |
| if not startEqualsFinish: | |
| print() | |
| print('Original data did not match decompress(compress(data))') | |
| self.DisplayBinaryData('original data', start) | |
| self.DisplayBinaryData('after compression', self.ReadTmpFile('output1')) | |
| self.DisplayBinaryData('after decompression', finish) | |
| self.assertTrue(startEqualsFinish) | |
| def testRandomDataCycles(self): | |
| for i in range(8): | |
| data = self.GetRandomString(1024, 2048) | |
| self.compressionTestCycle(data) | |
| self.CleanUpTmpDir() | |
| TheTestSuite = TestTools.MakeTheTestSuite(locals()) | |
| if __name__ == '__main__': | |
| allTests = TheTestSuite() | |
| unittest.TextTestRunner().run(allTests) | |