From bbd14482f18fde77c61c45d4413e2d33305f7b41 Mon Sep 17 00:00:00 2001 From: Florian Angerer <florian.angerer@oracle.com> Date: Thu, 23 Nov 2017 17:11:52 +0100 Subject: [PATCH] Correctly setting status code if installation fails. --- .../r/install.package.R | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/com.oracle.truffle.r.test.packages/r/install.package.R b/com.oracle.truffle.r.test.packages/r/install.package.R index 70e6958084..5a537407b2 100644 --- a/com.oracle.truffle.r.test.packages/r/install.package.R +++ b/com.oracle.truffle.r.test.packages/r/install.package.R @@ -39,10 +39,20 @@ parse.args <- function() { } run <- function() { - parse.args() - install.packages(pkgname, contriburl=contriburl, type="source", lib=lib.install, INSTALL_opts="--install-tests") + parse.args() + tryCatch({ + res <- install.packages(pkgname, contriburl=contriburl, type="source", lib=lib.install, INSTALL_opts="--install-tests") + if (res == NULL) 0L else 1L + }, error = function(e) { + cat(e$message, "\n") + return (1L) + }, warning = function(e) { + cat(e$message, "\n") + return (1L) + }) } if (!interactive()) { - run() + status.code <- run() + quit(status = status.code) } -- GitLab