File: compare.rb

package info (click to toggle)
libosl 0.8.0-4.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 7,328 kB
  • sloc: cpp: 114,345; ruby: 1,290; ansic: 915; makefile: 431; perl: 309; sh: 35
file content (52 lines) | stat: -rwxr-xr-x 1,086 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#! /usr/bin/env ruby

left = ARGV[0]
right = ARGV[1]

result1 = nil
result2 = nil
File.open(left) {|f1|
  File.open(right) {|f2|
    result1 = f1.readlines.sort
    result2 = f2.readlines.sort
  }
}
left_only = Array.new
right_only = Array.new
left_nodes = Array.new
right_nodes = Array.new
0.upto(result1.length - 1) {|i|
  r1 = result1[i].split(/\t/)
  r2 = result2[i].split(/\t/)
  nodes1 = r1[3].to_i
  nodes2 = r2[3].to_i
  if (r1[1] == 'OK' && r2[1] != 'OK') then
    left_only.push("#{r1[0]} #{nodes1 - nodes2}")
  elsif (r1[1] != 'OK' && r2[1] == 'OK') then
    right_only.push("#{r1[0]} #{nodes2 - nodes1}")
  elsif (r1[1] == 'OK' && r2[1] == 'OK') then
    if (nodes1 > nodes2) then
      left_nodes.push("#{r1[0]} #{nodes1 - nodes2}")
    elsif (nodes1 < nodes2) then
      right_nodes.push("#{r1[0]} #{nodes2 - nodes1}")
    end
  end
}

puts 'Left:'
left_only.each {|x|
  puts x
}
puts 'Right:'
right_only.each {|x|
  puts x
}

puts "Left More: #{left_nodes.length}"
left_nodes.each {|x|
  puts x
}
puts "Right More: #{right_nodes.length}"
right_nodes.each {|x|
  puts x
}