TianoCompress.py 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. ## @file
  2. # Unit tests for TianoCompress utility
  3. #
  4. # Copyright (c) 2008, Intel Corporation. All rights reserved.<BR>
  5. #
  6. # SPDX-License-Identifier: BSD-2-Clause-Patent
  7. #
  8. ##
  9. # Import Modules
  10. #
  11. from __future__ import print_function
  12. import os
  13. import random
  14. import sys
  15. import unittest
  16. import TestTools
  17. class Tests(TestTools.BaseToolsTest):
  18. def setUp(self):
  19. TestTools.BaseToolsTest.setUp(self)
  20. self.toolName = 'TianoCompress'
  21. def testHelp(self):
  22. result = self.RunTool('--help', logFile='help')
  23. #self.DisplayFile('help')
  24. self.assertTrue(result == 0)
  25. def compressionTestCycle(self, data):
  26. path = self.GetTmpFilePath('input')
  27. self.WriteTmpFile('input', data)
  28. result = self.RunTool(
  29. '-e',
  30. '-o', self.GetTmpFilePath('output1'),
  31. self.GetTmpFilePath('input')
  32. )
  33. self.assertTrue(result == 0)
  34. result = self.RunTool(
  35. '-d',
  36. '-o', self.GetTmpFilePath('output2'),
  37. self.GetTmpFilePath('output1')
  38. )
  39. self.assertTrue(result == 0)
  40. start = self.ReadTmpFile('input')
  41. finish = self.ReadTmpFile('output2')
  42. startEqualsFinish = start == finish
  43. if not startEqualsFinish:
  44. print()
  45. print('Original data did not match decompress(compress(data))')
  46. self.DisplayBinaryData('original data', start)
  47. self.DisplayBinaryData('after compression', self.ReadTmpFile('output1'))
  48. self.DisplayBinaryData('after decompression', finish)
  49. self.assertTrue(startEqualsFinish)
  50. def testRandomDataCycles(self):
  51. for i in range(8):
  52. data = self.GetRandomString(1024, 2048)
  53. self.compressionTestCycle(data)
  54. self.CleanUpTmpDir()
  55. TheTestSuite = TestTools.MakeTheTestSuite(locals())
  56. if __name__ == '__main__':
  57. allTests = TheTestSuite()
  58. unittest.TextTestRunner().run(allTests)