Beispiel #1
0
    def install_R_package(self, cmd, inp=None):
        """Install R package as specified, and check for errors."""

        cmdttdouterr, _ = run_cmd(cmd,
                                  log_all=True,
                                  simple=False,
                                  inp=inp,
                                  regexp=False)

        cmderrors = parse_log_for_error(cmdttdouterr, regExp="^ERROR:")
        if cmderrors:
            cmd = "R -q --no-save"
            stdin = """
            remove.library(%s)
            """ % self.name
            # remove package if errors were detected
            # it's possible that some of the dependencies failed, but the package itself was installed
            run_cmd(cmd,
                    log_all=False,
                    log_ok=False,
                    simple=False,
                    inp=stdin,
                    regexp=False)
            self.log.error(
                "Errors detected during installation of R package %s!" %
                self.name)
        else:
            self.log.debug("R package %s installed succesfully" % self.name)
 def sanity_check_step(self, *args, **kwargs):
     """
     Custom sanity check for Julia packages
     """
     #NOTE: we don't use Pkg.status with arguments as only supported for Julia >=v1.1
     cmd = "unset EBJULIA_USER_DEPOT_PATH && export EBJULIA_ADMIN_DEPOT_PATH=%s && export JULIA_DEPOT_PATH=%s && export JULIA_PROJECT=%s && julia --eval 'using Pkg; Pkg.status()'" % (self.depot, self.depot, self.projectdir)
     cmdttdouterr, _ = run_cmd(cmd, log_all=True, simple=False, regexp=False)
     self.log.error("Julia package %s sanity returned %s" % (self.name, cmdttdouterr))
     return len(parse_log_for_error(cmdttdouterr, regExp="%s\s+v%s" % (self.package_name, self.version))) != 0
    def install_step(self):
        """Install procedure for Julia packages."""

        cmd = self.make_julia_cmd(remove=False)
        cmdttdouterr, _ = run_cmd(cmd, log_all=True, simple=False, regexp=False)

        cmderrors = parse_log_for_error(cmdttdouterr, regExp="^ERROR:")
        if cmderrors:
            cmd = self.make_julia_cmd(remove=True)
            run_cmd(cmd, log_all=False, log_ok=False, simple=False, inp=stdin, regexp=False)
            raise EasyBuildError("Errors detected during installation of Julia package %s!", self.name)
        else:
            self.log.info("Julia package %s installed succesfully" % self.name)
    def install_R_package(self, cmd, inp=None):
        """Install R package as specified, and check for errors."""

        cmdttdouterr, _ = run_cmd(cmd, log_all=True, simple=False, inp=inp, regexp=False)

        cmderrors = parse_log_for_error(cmdttdouterr, regExp="^ERROR:")
        if cmderrors:
            cmd = "R -q --no-save"
            stdin = """
            remove.library(%s)
            """ % self.name
            # remove package if errors were detected
            # it's possible that some of the dependencies failed, but the package itself was installed
            run_cmd(cmd, log_all=False, log_ok=False, simple=False, inp=stdin, regexp=False)
            raise EasyBuildError("Errors detected during installation of R package %s!", self.name)
        else:
            self.log.debug("R package %s installed succesfully" % self.name)
 def check_install_output(self, output):
     """
     Check output of installation command, and clean up installation if needed.
     """
     errors = parse_log_for_error(output, regExp="^ERROR:")
     if errors:
         self.handle_installation_errors()
         cmd = "R -q --no-save"
         stdin = """
         remove.library(%s)
         """ % self.name
         # remove package if errors were detected
         # it's possible that some of the dependencies failed, but the package itself was installed
         run_cmd(cmd,
                 log_all=False,
                 log_ok=False,
                 simple=False,
                 inp=stdin,
                 regexp=False)
         raise EasyBuildError(
             "Errors detected during installation of R package %s!",
             self.name)
     else:
         self.log.debug("R package %s installed succesfully", self.name)
Beispiel #6
0
 def test_parse_log_error(self):
     """Test basic parse_log_for_error functionality."""
     errors = parse_log_for_error("error failed", True)
     self.assertEqual(len(errors), 1)
def parse_log_for_error(txt, regExp=None, stdout=True, msg=None):
    """Legacy wrapper/placeholder for run.parse_log_for_error"""
    return run.parse_log_for_error(txt, regExp=regExp, stdout=stdout, msg=msg)
Beispiel #8
0
 def test_parse_log_error(self):
     """Test basic parse_log_for_error functionality."""
     errors = parse_log_for_error("error failed", True)
     self.assertEqual(len(errors), 1)
Beispiel #9
0
def parse_log_for_error(txt, regExp=None, stdout=True, msg=None):
    """Legacy wrapper/placeholder for run.parse_log_for_error"""
    _log.deprecated("parse_log_for_error was moved from tools.filetools to tools.run", '2.0')
    return run.parse_log_for_error(txt, regExp=regExp, stdout=stdout, msg=msg)
Beispiel #10
0
def parse_log_for_error(txt, regExp=None, stdout=True, msg=None):
    """Legacy wrapper/placeholder for run.parse_log_for_error"""
    return run.parse_log_for_error(txt, regExp=regExp, stdout=stdout, msg=msg)