blob: e141364162118142df6bfa92b907a4b735f62839 [file] [log] [blame]
Vishal Bhoj82c80712015-12-15 21:13:33 +05301## @file
2# Unit tests for TianoCompress utility
3#
4# Copyright (c) 2008, Intel Corporation. All rights reserved.<BR>
5#
6# This program and the accompanying materials
7# are licensed and made available under the terms and conditions of the BSD License
8# which accompanies this distribution. The full text of the license may be found at
9# http://opensource.org/licenses/bsd-license.php
10#
11# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13#
14
15##
16# Import Modules
17#
18import os
19import random
20import sys
21import unittest
22
23import TestTools
24
25class Tests(TestTools.BaseToolsTest):
26
27 def setUp(self):
28 TestTools.BaseToolsTest.setUp(self)
29 self.toolName = 'TianoCompress'
30
31 def testHelp(self):
32 result = self.RunTool('--help', logFile='help')
33 #self.DisplayFile('help')
34 self.assertTrue(result == 0)
35
36 def compressionTestCycle(self, data):
37 path = self.GetTmpFilePath('input')
38 self.WriteTmpFile('input', data)
39 result = self.RunTool(
40 '-e',
41 '-o', self.GetTmpFilePath('output1'),
42 self.GetTmpFilePath('input')
43 )
44 self.assertTrue(result == 0)
45 result = self.RunTool(
46 '-d',
47 '-o', self.GetTmpFilePath('output2'),
48 self.GetTmpFilePath('output1')
49 )
50 self.assertTrue(result == 0)
51 start = self.ReadTmpFile('input')
52 finish = self.ReadTmpFile('output2')
53 startEqualsFinish = start == finish
54 if not startEqualsFinish:
55 print
56 print 'Original data did not match decompress(compress(data))'
57 self.DisplayBinaryData('original data', start)
58 self.DisplayBinaryData('after compression', self.ReadTmpFile('output1'))
59 self.DisplayBinaryData('after decomression', finish)
60 self.assertTrue(startEqualsFinish)
61
62 def testRandomDataCycles(self):
63 for i in range(8):
64 data = self.GetRandomString(1024, 2048)
65 self.compressionTestCycle(data)
66 self.CleanUpTmpDir()
67
68TheTestSuite = TestTools.MakeTheTestSuite(locals())
69
70if __name__ == '__main__':
71 allTests = TheTestSuite()
72 unittest.TextTestRunner().run(allTests)
73
74