summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormguetlein <martin.guetlein@gmail.com>2014-10-08 11:21:15 +0200
committermguetlein <martin.guetlein@gmail.com>2014-10-08 11:21:15 +0200
commit355720b394ab66938c381c2cac4db821ab664e27 (patch)
treed16b5b540fae99202493793001c3dc04eb9d7f80
parentcd2d1a5aabbc0cd1c3a58923845d2642589df67f (diff)
raise error when external program fails (i.e., cdk or joelib)
-rw-r--r--lib/descriptor.rb11
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/descriptor.rb b/lib/descriptor.rb
index c9959ad..36fb1a5 100644
--- a/lib/descriptor.rb
+++ b/lib/descriptor.rb
@@ -111,8 +111,15 @@ module OpenTox
end
def self.run_cmd cmd
- $logger.debug "running '#{cmd}'"
- IO.popen(cmd).each{|line| $logger.debug line.chomp}
+ cmd = "#{cmd} 2>&1"
+ $logger.debug "running external cmd: '#{cmd}'"
+ p = IO.popen(cmd) do |io|
+ while line = io.gets
+ $logger.debug "> #{line.chomp}"
+ end
+ io.close
+ raise "external cmd failed '#{cmd}' (error should be logged)" unless $?.to_i == 0
+ end
end
def self.cdk compounds, descriptors