]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/UPT/UPT.py
BaseTool/UPT: Add Test Install
[mirror_edk2.git] / BaseTools / Source / Python / UPT / UPT.py
index 59c4a88f8efea8141c03cad349f755e95624d415..8dd949ae90388d4f7066b473a9f99a1c24732499 100644 (file)
@@ -46,6 +46,7 @@ import InstallPkg
 import RmPkg\r
 import InventoryWs\r
 import ReplacePkg\r
+import TestInstall\r
 from Library.Misc import GetWorkspace\r
 from Library import GlobalData\r
 from Core.IpiDb import IpiDatabase\r
@@ -69,6 +70,9 @@ def CheckConflictOption(Opt):
         Logger.Error("UPT", OPTION_CONFLICT, ExtraData=ST.ERR_I_R_EXCLUSIVE)\r
     elif Opt.PackFileToCreate and  Opt.PackFileToRemove:\r
         Logger.Error("UPT", OPTION_CONFLICT, ExtraData=ST.ERR_C_R_EXCLUSIVE)\r
+    elif Opt.TestDistFiles and (Opt.PackFileToCreate or Opt.PackFileToInstall \\r
+                                or Opt.PackFileToRemove or Opt.PackFileToReplace):\r
+        Logger.Error("UPT", OPTION_CONFLICT, ExtraData=ST.ERR_C_R_EXCLUSIVE)\r
 \r
     if Opt.CustomPath and Opt.UseGuidedPkgPath:\r
         Logger.Warn("UPT", ST.WARN_CUSTOMPATH_OVERRIDE_USEGUIDEDPATH)\r
@@ -146,6 +150,9 @@ def Main():
 \r
     Parser.add_option("--use-guided-paths", action="store_true", dest="Use_Guided_Paths", help=ST.HLP_USE_GUIDED_PATHS)\r
 \r
+    Parser.add_option("-j", "--test-install", action="append", type="string",\r
+                      dest="Test_Install_Distribution_Package_Files", help=ST.HLP_TEST_INSTALL)\r
+\r
     Opt = Parser.parse_args()[0]\r
 \r
     Var2Var = [\r
@@ -159,6 +166,7 @@ def Main():
         ("PackFileToReplace", Opt.Replace_Distribution_Package_File),\r
         ("PackFileToBeReplaced", Opt.Original_Distribution_Package_File),\r
         ("UseGuidedPkgPath", Opt.Use_Guided_Paths),\r
+        ("TestDistFiles", Opt.Test_Install_Distribution_Package_Files)\r
     ]\r
 \r
     for Var in Var2Var:\r
@@ -265,6 +273,14 @@ def Main():
             Opt.PackFileToReplace = AbsPath\r
             RunModule = ReplacePkg.Main\r
 \r
+        elif Opt.Test_Install_Distribution_Package_Files:\r
+            for Dist in Opt.Test_Install_Distribution_Package_Files:\r
+                if not Dist.endswith('.dist'):\r
+                    Logger.Error("TestInstall", FILE_TYPE_MISMATCH, ExtraData=ST.ERR_DIST_EXT_ERROR % Dist)\r
+\r
+            setattr(Opt, 'DistFiles', Opt.Test_Install_Distribution_Package_Files)\r
+            RunModule = TestInstall.Main\r
+\r
         else:\r
             Parser.print_usage()\r
             return OPTION_MISSING\r