diff toolfactory/rgToolFactory2.py @ 137:63d15caea378 draft

Uploaded
author fubar
date Tue, 13 Apr 2021 03:06:27 +0000
parents 7805fdac70ed
children 1dba6c7687a9
line wrap: on
line diff
--- a/toolfactory/rgToolFactory2.py	Tue Apr 13 00:35:36 2021 +0000
+++ b/toolfactory/rgToolFactory2.py	Tue Apr 13 03:06:27 2021 +0000
@@ -1043,6 +1043,10 @@
         and for generating test outputs if command or test overrides are
         supplied test outputs are sent to repdir for display
         """
+        penv = os.environ
+        pconfig = os.path.join(self.args.tool_dir,'.planemo.yml')
+        penv["PLANEMO_GLOBAL_CONFIG_PATH"] = pconfig
+        self.set_planemo_galaxy_root(self.args.galaxy_root,config_path=pconfig)
         xreal = "%s.xml" % self.tool_name
         tool_test_path = os.path.join(
             self.repdir, f"{self.tool_name}_planemo_test_report.html"
@@ -1067,6 +1071,7 @@
         p = subprocess.run(
             cll,
             shell=False,
+            env = penv,
             cwd=self.tooloutdir,
             stderr=tout,
             stdout=tout,
@@ -1074,6 +1079,36 @@
         tout.close()
         return p.returncode
 
+    def set_planemo_galaxy_root(self, galaxyroot='/galaxy-central', config_path=".planemo.yml"):
+        # bug in planemo - bogus '--dev-wheels' passed to run_tests.sh as at april 2021 - need a fiddled copy so it is ignored until fixed
+        CONFIG_TEMPLATE = f"""## Planemo Global Configuration File.
+## Everything in this file is completely optional - these values can all be
+## configured via command line options for the corresponding commands.
+
+## Specify a default galaxy_root for test and server commands here.
+galaxy_root: %s
+## Username used with toolshed(s).
+#shed_username: "<TODO>"
+sheds:
+  # For each tool shed you wish to target, uncomment key or both email and
+  # password.
+  toolshed:
+    #key: "<TODO>"
+    #email: "<TODO>"
+    #password: "<TODO>"
+  testtoolshed:
+    #key: "<TODO>"
+    #email: "<TODO>"
+    #password: "<TODO>"
+  local:
+    #key: "<TODO>"
+    #email: "<TODO>"
+    #password: "<TODO>"
+"""
+        if not os.path.exists(config_path):
+            with open(config_path, "w") as f:
+                f.write(CONFIG_TEMPLATE % galaxyroot)
+
 
 def main():
     """