Top Level Namespace

Defined Under Namespace

Modules: Archive

Constant Summary collapse

AR_COMMAND =
'ar'
ARCHIVE_AR_COMMAND =
'bundle exec ../bin/ar.rb'

Instance Method Summary collapse

Instance Method Details

#run_test(cmd, md5file = nil) ⇒ Object



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
53
54
55
56
# File 'ext/integration.rb', line 8

def run_test(cmd, md5file = nil)
  pass = true
  puts "Testing `ar #{cmd}`"

  # Test original
  out_ar = `#{AR_COMMAND} #{cmd} 2>&1`
  if md5file
    md5_ar = Digest::MD5.file(md5file)
    file_ar = File.read(md5file)
    FileUtils.rm_rf(md5file)
  end

  # Test ruby version
  out_archive_ar = `#{ARCHIVE_AR_COMMAND} #{cmd} 2>&1`
  if md5file
    md5_archive_ar = Digest::MD5.file(md5file)
    file_archive_ar = File.read(md5file)
    FileUtils.rm_rf(md5file)
  end

  if md5_ar != md5_archive_ar
    pass = false

    puts " Error #{cmd}"
    puts " File mismatch:"
    puts "   Expected: #{md5_ar}"
    puts "        Got: #{md5_archive_ar}"
    puts "   Expected:"
    puts "--------------------"
    puts file_ar
    puts "--------------------"
    puts "        Got:"
    puts "--------------------"
    puts file_archive_ar
    puts "--------------------"
  end

  if out_ar != out_archive_ar
    pass = false

    puts " Error #{cmd}"
    puts " Expected:"
    out_ar.split("\n").each {|l| puts "  | #{l}"}
    puts " Got:"
    out_archive_ar.split("\n").each {|l| puts "  | #{l}"}
  end

  pass
end