Skip to content

Commit 5aaf92e

Browse files
authored
M #-: Fix rare failure driver actions (#3693)
* Return empty string if output is nill * Catch exception in TM driver
1 parent 3fc5427 commit 5aaf92e

File tree

2 files changed

+16
-12
lines changed

2 files changed

+16
-12
lines changed

src/mad/ruby/CommandManager.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ def capture3_timeout(*cmd)
210210
raise terminator_e if terminator_e
211211

212212
# return values
213-
[out_reader.value, err_reader.value, t.value]
213+
[out_reader.value || '', err_reader.value || '', t.value]
214214
end
215215
end
216216

src/tm_mad/one_tm.rb

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -75,21 +75,25 @@ def initialize(tm_type, options = {})
7575
# Driver Action: TRANSFER id script_file
7676
# Executes a transfer script
7777
def action_transfer(id, script_file)
78-
script = parse_script(script_file)
79-
if script.nil?
80-
return send_message('TRANSFER', RESULT[:failure], id,
81-
"Transfer file '#{script_file}' does not exist")
82-
end
78+
begin
79+
script = parse_script(script_file)
80+
if script.nil?
81+
return send_message('TRANSFER', RESULT[:failure], id,
82+
"Transfer file '#{script_file}' does not exist")
83+
end
8384

84-
script.each do |command|
85-
result, info = do_transfer_action(id, command)
85+
script.each do |command|
86+
result, info = do_transfer_action(id, command)
8687

87-
if result == RESULT[:failure]
88-
return send_message('TRANSFER', result, id, info)
88+
if result == RESULT[:failure]
89+
return send_message('TRANSFER', result, id, info)
90+
end
8991
end
90-
end
9192

92-
send_message('TRANSFER', RESULT[:success], id)
93+
send_message('TRANSFER', RESULT[:success], id)
94+
rescue StandardError => e
95+
send_message('TRANSFER', RESULT[:failure], id, e.message)
96+
end
9397
end
9498

9599
# Executes a single transfer action (command), as returned by the parse

0 commit comments

Comments
 (0)