## @file # Unit tests for TianoCompress utility # # Copyright (c) 2008, Intel Corporation. All rights reserved.
# # This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License # which accompanies this distribution. The full text of the license may be found at # http://opensource.org/licenses/bsd-license.php # # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. # ## # 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)