]> git.proxmox.com Git - mirror_edk2.git/blame - BaseTools/Tests/TianoCompress.py
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / BaseTools / Tests / TianoCompress.py
CommitLineData
f51461c8
LG
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
2e351cbe 6# SPDX-License-Identifier: BSD-2-Clause-Patent\r
f51461c8
LG
7#\r
8\r
9##\r
10# Import Modules\r
11#\r
72443dd2 12from __future__ import print_function\r
f51461c8
LG
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
72443dd2
GL
50 print()\r
51 print('Original data did not match decompress(compress(data))')\r
f51461c8
LG
52 self.DisplayBinaryData('original data', start)\r
53 self.DisplayBinaryData('after compression', self.ReadTmpFile('output1'))\r
fb0b35e0 54 self.DisplayBinaryData('after decompression', finish)\r
f51461c8
LG
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