]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/tests/Split/test_split.py
BaseTools: fix the split output files root dir
[mirror_edk2.git] / BaseTools / Source / Python / tests / Split / test_split.py
index 82f71ecf53729a79fda9698fc17c864794436c6c..e4866be390b34078d9ccdad43fb69ac4aca77c1c 100644 (file)
@@ -18,26 +18,27 @@ import struct as st
 \r
 class TestSplit(unittest.TestCase):\r
     def setUp(self):\r
-        self.WORKSPACE = tempfile.mkdtemp()\r
-        self.binary_file = os.path.join(self.WORKSPACE, "Binary.bin")\r
+        self.tmpdir = tempfile.mkdtemp()\r
+        self.binary_file = os.path.join(self.tmpdir, "Binary.bin")\r
         self.create_inputfile()\r
 \r
     def tearDown(self):\r
-        if os.path.exists(self.WORKSPACE):\r
-            shutil.rmtree(self.WORKSPACE)\r
+        if os.path.exists(self.tmpdir):\r
+            shutil.rmtree(self.tmpdir)\r
 \r
     def test_splitFile_position(self):\r
         position = [-1, 0, 256, 512, 700, 1024, 2048]\r
         result = [(0, 1024), (0, 1024), (256, 768),\r
                   (512, 512), (700, 324), (1024, 0), (1024, 0)]\r
+        outputfolder = self.tmpdir\r
         for index, po in enumerate(position):\r
             try:\r
                 sp.splitFile(self.binary_file, po)\r
             except Exception as e:\r
                 self.assertTrue(False, msg="splitFile function error")\r
 \r
-            output1 = os.path.join(self.WORKSPACE, "Binary.bin1")\r
-            output2 = os.path.join(self.WORKSPACE, "Binary.bin2")\r
+            output1 = os.path.join(outputfolder, "Binary.bin1")\r
+            output2 = os.path.join(outputfolder, "Binary.bin2")\r
             with open(output1, "rb") as f1:\r
                 size1 = len(f1.read())\r
             with open(output2, "rb") as f2:\r
@@ -53,58 +54,61 @@ class TestSplit(unittest.TestCase):
                 fout.write(st.pack("<H", i))\r
 \r
     def test_splitFile_outputfile(self):\r
-        output = [None, "Binary.bin", "Binary1.bin", r"output/Binary1.bin",\r
-                  os.path.join(self.WORKSPACE, r"output/Binary1.bin")]\r
-        for o in output:\r
+        output = [\r
+            None,\r
+            "Binary.bin",\r
+            "Binary1.bin",\r
+            r"output/Binary1.bin",\r
+            os.path.abspath( r"output/Binary1.bin")\r
+            ]\r
+        expected_output = [\r
+            os.path.join(os.path.dirname(self.binary_file),"Binary.bin1" ),\r
+            os.path.join(os.getcwd(),"Binary.bin"),\r
+            os.path.join(os.getcwd(),"Binary1.bin"),\r
+            os.path.join(os.getcwd(),r"output/Binary1.bin"),\r
+            os.path.join(os.path.abspath( r"output/Binary1.bin"))\r
+            ]\r
+        for index, o in enumerate(output):\r
             try:\r
                 sp.splitFile(self.binary_file, 123, outputfile1=o)\r
             except Exception as e:\r
                 self.assertTrue(False, msg="splitFile function error")\r
-            if o is None:\r
-                self.assertTrue(os.path.exists(\r
-                    os.path.join(self.WORKSPACE, "Binary.bin1")))\r
-            else:\r
-                if os.path.isabs(o):\r
-                    self.assertTrue(os.path.exists(o))\r
-                else:\r
-                    self.assertTrue(os.path.exists(\r
-                        os.path.join(self.WORKSPACE, o)))\r
-            self.create_inputfile()\r
 \r
-            try:\r
-                sp.splitFile(self.binary_file, 123, outputfile2=o)\r
-            except Exception as e:\r
-                self.assertTrue(False, msg="splitFile function error")\r
-            if o is None:\r
-                self.assertTrue(os.path.exists(\r
-                    os.path.join(self.WORKSPACE, "Binary.bin2")))\r
-            else:\r
-                if os.path.isabs(o):\r
-                    self.assertTrue(os.path.exists(o))\r
-                else:\r
-                    self.assertTrue(os.path.exists(\r
-                        os.path.join(self.WORKSPACE, o)))\r
+            self.assertTrue(os.path.exists(expected_output[index]))\r
             self.create_inputfile()\r
 \r
     def test_splitFile_outputfolder(self):\r
-        outputfolder = [None, "output", r"output1/output2",\r
-                        os.path.join(self.WORKSPACE, "output")]\r
-        for o in outputfolder:\r
+        outputfolder = [\r
+            None,\r
+            "output",\r
+            r"output1/output2",\r
+            os.path.abspath("output"),\r
+            "output"\r
+            ]\r
+        output = [\r
+            None,\r
+            None,\r
+            "Binary1.bin",\r
+            r"output/Binary1.bin",\r
+            os.path.abspath( r"output_1/Binary1.bin")\r
+            ]\r
+\r
+        expected_output = [\r
+            os.path.join(os.path.dirname(self.binary_file),"Binary.bin1" ),\r
+            os.path.join(os.getcwd(),"output", "Binary.bin1"),\r
+            os.path.join(os.getcwd(), r"output1/output2" , "Binary1.bin"),\r
+            os.path.join(os.getcwd(),r"output", "output/Binary1.bin"),\r
+            os.path.join(os.path.abspath( r"output/Binary1.bin"))\r
+            ]\r
+\r
+        for index, o in enumerate(outputfolder):\r
             try:\r
-                sp.splitFile(self.binary_file, 123, outputdir=o)\r
+                sp.splitFile(self.binary_file, 123, outputdir=o,outputfile1=output[index])\r
             except Exception as e:\r
                 self.assertTrue(False, msg="splitFile function error")\r
 \r
-            if o is None:\r
-                self.assertTrue(os.path.exists(\r
-                    os.path.join(self.WORKSPACE, "Binary.bin1")))\r
-            else:\r
-                if os.path.isabs(o):\r
-                    self.assertTrue(os.path.exists(\r
-                        os.path.join(o, "Binary.bin1")))\r
-                else:\r
-                    self.assertTrue(os.path.exists(\r
-                        os.path.join(self.WORKSPACE, o, "Binary.bin1")))\r
+            self.assertTrue(os.path.exists(expected_output[index]))\r
+            self.create_inputfile()\r
 \r
 \r
 if __name__ == '__main__':\r