@@ -119,20 +119,19 @@ def self.cli(argv = ARGV, logger = Logger.new(STDERR), opts = {})
119119 # Compile catalogs and do catalog-diff
120120 node_set = options . delete ( :node )
121121 node_set = [ node_set ] unless node_set . is_a? ( Array )
122- catalog_diff = nil
123- all_diffs = [ ]
124122
125123 # run multiple node diffs in parallel
126- if node_set . size == 1
127- all_diffs << run_octocatalog_diff ( node_set . first , options , logger )
124+ catalog_diffs = if node_set . size == 1
125+ [ run_octocatalog_diff ( node_set . first , options , logger ) ]
128126 else
129- ::Parallel . map ( node_set , in_threads : 4 ) do |node |
130- all_diffs << run_octocatalog_diff ( node , options , logger )
131- end
127+ ::Parallel . map ( node_set , in_threads : 4 ) { |node | run_octocatalog_diff ( node , options , logger ) }
132128 end
133129
134- # Return the resulting diff object if requested (generally for testing) or otherwise return exit code
135- return catalog_diff if opts [ :INTEGRATION ]
130+ # Return the resulting diff object if requested (generally for testing)
131+ # or otherwise return exit code
132+ return catalog_diffs . first if opts [ :INTEGRATION ]
133+
134+ all_diffs = catalog_diffs . map ( &:diffs )
136135
137136 all_diffs . each do |diff |
138137 next unless diff . any?
@@ -156,8 +155,8 @@ def self.run_octocatalog_diff(node, options, logger)
156155 printer_obj = OctocatalogDiff ::Cli ::Printer . new ( options_copy , logger )
157156 printer_obj . printer ( diffs , catalog_diff . from . compilation_dir , catalog_diff . to . compilation_dir )
158157
159- # Return diffs
160- diffs
158+ # Return catalog-diff object.
159+ catalog_diff
161160 end
162161
163162 # Parse command line options with 'optparse'. Returns a hash with the parsed arguments.
0 commit comments