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