diff options
author | mguetlein <martin.guetlein@gmail.com> | 2014-10-08 11:21:15 +0200 |
---|---|---|
committer | mguetlein <martin.guetlein@gmail.com> | 2014-10-08 11:21:15 +0200 |
commit | 355720b394ab66938c381c2cac4db821ab664e27 (patch) | |
tree | d16b5b540fae99202493793001c3dc04eb9d7f80 | |
parent | cd2d1a5aabbc0cd1c3a58923845d2642589df67f (diff) |
raise error when external program fails (i.e., cdk or joelib)
-rw-r--r-- | lib/descriptor.rb | 11 |
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 |