Mercurial > repos > fubar > tool_factory_2
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(): """