Mercurial > repos > fubar > toolfactory_gtn
diff toolfactory/rgToolFactory2.py @ 3:c4f192ec521c draft
Uploaded
author | fubar |
---|---|
date | Tue, 20 Apr 2021 05:30:52 +0000 |
parents | b65ec4f387b9 |
children |
line wrap: on
line diff
--- a/toolfactory/rgToolFactory2.py Sun Apr 18 04:42:15 2021 +0000 +++ b/toolfactory/rgToolFactory2.py Tue Apr 20 05:30:52 2021 +0000 @@ -1043,6 +1043,23 @@ and for generating test outputs if command or test overrides are supplied test outputs are sent to repdir for display """ + penv = os.environ + phome = penv['HOME'] + isDocker = os.path.exists('/.dockerenv') + if isDocker: # use the volume if it exists + phome = '/home/planemo' + if os.path.exists(phome): # is mounted + home = phome + else: + home = '/tmp/planemo' # this will be brutal but otherwise /home/galaxy + os.mkdir('/tmp/planemo') + penv["HOME"] = phome + path = penv['PATH'] + penv['PATH'] = '%s:%s' % (phome,path) + print(f"#### set home to {phome} with path={penv['PATH']}") + #pconfig = os.path.join(phome,'.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" @@ -1054,17 +1071,20 @@ cll = [ "planemo", "test", + "--galaxy_python_version", + self.args.python_version, "--test_data", os.path.abspath(self.testdir), "--test_output", os.path.abspath(tool_test_path), - "--galaxy_root", - self.args.galaxy_root, + ## "--galaxy_root", + ## self.args.galaxy_root, "--update_test_data", os.path.abspath(xreal), ] p = subprocess.run( cll, + env = penv, shell=False, cwd=self.tooloutdir, stderr=tout, @@ -1073,6 +1093,36 @@ tout.close() return p.returncode + def set_planemo_galaxy_root(self, galaxyroot, config_path): + # planemo tries to write to ~/.planemo - trying to convince it otherwise + CONFIG_TEMPLATE = """## 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(): """ This is a Galaxy wrapper.