net-dns 0.6.1 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. data/.gitignore +8 -6
  2. data/.travis.yml +14 -0
  3. data/CHANGELOG.md +79 -0
  4. data/Gemfile +4 -0
  5. data/Rakefile +56 -66
  6. data/demo/check_soa.rb +1 -1
  7. data/demo/threads.rb +1 -1
  8. data/lib/net/dns.rb +24 -22
  9. data/lib/net/dns/header.rb +77 -103
  10. data/lib/net/dns/{names/names.rb → names.rb} +19 -20
  11. data/lib/net/dns/packet.rb +231 -256
  12. data/lib/net/dns/question.rb +11 -40
  13. data/lib/net/dns/resolver.rb +248 -250
  14. data/lib/net/dns/resolver/socks.rb +6 -6
  15. data/lib/net/dns/resolver/timeouts.rb +1 -1
  16. data/lib/net/dns/rr.rb +112 -117
  17. data/lib/net/dns/rr/a.rb +98 -89
  18. data/lib/net/dns/rr/aaaa.rb +84 -68
  19. data/lib/net/dns/rr/classes.rb +91 -106
  20. data/lib/net/dns/rr/cname.rb +64 -45
  21. data/lib/net/dns/rr/hinfo.rb +90 -50
  22. data/lib/net/dns/rr/mr.rb +61 -44
  23. data/lib/net/dns/rr/mx.rb +73 -48
  24. data/lib/net/dns/rr/ns.rb +60 -46
  25. data/lib/net/dns/rr/null.rb +11 -12
  26. data/lib/net/dns/rr/ptr.rb +47 -34
  27. data/lib/net/dns/rr/soa.rb +5 -6
  28. data/lib/net/dns/rr/srv.rb +1 -4
  29. data/lib/net/dns/rr/txt.rb +14 -14
  30. data/lib/net/dns/rr/types.rb +13 -13
  31. data/lib/net/dns/version.rb +8 -14
  32. data/net-dns.gemspec +35 -0
  33. data/setup.rb +3 -2
  34. data/test/header_test.rb +18 -18
  35. data/test/names_test.rb +21 -0
  36. data/test/packet_test.rb +38 -31
  37. data/test/question_test.rb +23 -24
  38. data/test/resolver/timeouts_test.rb +13 -13
  39. data/test/resolver_test.rb +28 -20
  40. data/test/rr/a_test.rb +70 -23
  41. data/test/rr/aaaa_test.rb +109 -0
  42. data/test/rr/classes_test.rb +61 -49
  43. data/test/rr/cname_test.rb +97 -0
  44. data/test/rr/hinfo_test.rb +117 -0
  45. data/test/rr/mr_test.rb +105 -0
  46. data/test/rr/mx_test.rb +112 -0
  47. data/test/rr/ns_test.rb +34 -12
  48. data/test/rr/types_test.rb +4 -4
  49. data/test/rr_test.rb +1 -1
  50. metadata +77 -52
  51. data/AUTHORS.rdoc +0 -7
  52. data/CHANGELOG.rdoc +0 -46
  53. data/VERSION.yml +0 -5
@@ -0,0 +1,105 @@
1
+ require 'test_helper'
2
+ require 'net/dns/rr'
3
+
4
+ class RRMRTest < Test::Unit::TestCase
5
+
6
+ def setup
7
+ @klass = Net::DNS::RR::MR
8
+ @rr = @klass.new(:name => "eddie.movie.edu.", :newname => "eddie.bornagain.edu.", :ttl => 9000)
9
+
10
+ @rr_name = "eddie.movie.edu."
11
+ @rr_type = "MR"
12
+ @rr_cls = "IN"
13
+ @rr_ttl = 9000
14
+ @rr_newname = "eddie.bornagain.edu."
15
+ @rr_value = "eddie.bornagain.edu."
16
+ @rr_output = "eddie.movie.edu. 9000 IN MR eddie.bornagain.edu."
17
+ end
18
+
19
+
20
+ def test_initialize_from_hash
21
+ @record = @klass.new(:name => "eddie.movie.edu.", :newname => "eddie.bornagain.edu.", :ttl => 9000)
22
+ assert_equal @rr_output, @record.inspect
23
+ assert_equal @rr_name, @record.name
24
+ assert_equal @rr_type, @record.type
25
+ assert_equal @rr_cls, @record.cls
26
+ assert_equal @rr_ttl, @record.ttl
27
+ assert_equal @rr_newname, @record.newname
28
+ end
29
+
30
+ def test_initialize_from_string
31
+ @record = @klass.new("eddie.movie.edu. 9000 IN MR eddie.bornagain.edu.")
32
+ assert_equal @rr_output, @record.inspect
33
+ assert_equal @rr_name, @record.name
34
+ assert_equal @rr_type, @record.type
35
+ assert_equal @rr_cls, @record.cls
36
+ assert_equal @rr_ttl, @record.ttl
37
+ assert_equal @rr_newname, @record.newname
38
+ end
39
+
40
+ # def test_parse
41
+ # data = "\005eddie\005movie\003edu\000\000\t\000\001\000\000#(\000\025\005eddie\tbornagain\003edu\000"
42
+ # @record = Net::DNS::RR.parse(data)
43
+ # assert_equal @rr_output, @record.inspect
44
+ # assert_equal @rr_name, @record.name
45
+ # assert_equal @rr_type, @record.type
46
+ # assert_equal @rr_cls, @record.cls
47
+ # assert_equal @rr_ttl, @record.ttl
48
+ # assert_equal @rr_newname, @record.newname
49
+ # end
50
+
51
+
52
+ InvalidArguments = [
53
+ # FIXME: { :name => "eddie.movie.edu.", :newname => "foo___bar" },
54
+ # FIXME: { :name => "eddie.movie.edu.", :newname => "foo$bar" },
55
+ # FIXME: { :name => "eddie.movie.edu", :newname => "eddie.newname.edu." },
56
+ Object.new,
57
+ Array.new(7),
58
+ "9000 IN MR",
59
+ ]
60
+
61
+ InvalidArguments.each_with_index do |arguments, index|
62
+ define_method "test_initialize_should_raise_with_invalid_arguments_#{index}" do
63
+ assert_raises(ArgumentError) { @klass.new(arguments) }
64
+ end
65
+ end
66
+
67
+ def test_initialize_should_raise_with_missing_newname
68
+ error = assert_raises(ArgumentError) { @klass.new(:name => "eddie.movie.edu.") }
69
+ assert_match /:newname/, error.message
70
+ end
71
+
72
+
73
+ def test_value
74
+ @rr = @klass.new(:name => "eddie.movie.edu.", :newname => "eddie.newname.edu.")
75
+ assert_equal "eddie.newname.edu.", @rr.value
76
+
77
+ @rr = @klass.new(:name => "eddie.movie.edu.", :newname => "eddie.othername.edu.")
78
+ assert_equal "eddie.othername.edu.", @rr.value
79
+ end
80
+
81
+ def test_newname
82
+ @rr = @klass.new(:name => "eddie.movie.edu.", :newname => "eddie.newname.edu.")
83
+ assert_equal "eddie.newname.edu.", @rr.newname
84
+
85
+ @rr = @klass.new(:name => "eddie.movie.edu.", :newname => "eddie.othername.edu.")
86
+ assert_equal "eddie.othername.edu.", @rr.newname
87
+ end
88
+
89
+
90
+ def test_inspect
91
+ assert_equal "eddie.movie.edu. 9000 IN MR eddie.bornagain.edu.",
92
+ @rr.inspect
93
+ end
94
+
95
+ def test_to_s
96
+ assert_equal "eddie.movie.edu. 9000 IN MR eddie.bornagain.edu.",
97
+ @rr.to_s
98
+ end
99
+
100
+ def test_to_a
101
+ assert_equal ["eddie.movie.edu.", 9000, "IN", "MR", "eddie.bornagain.edu."],
102
+ @rr.to_a
103
+ end
104
+
105
+ end
@@ -0,0 +1,112 @@
1
+ require 'test_helper'
2
+ require 'net/dns/rr'
3
+
4
+ class RRMXTest < Test::Unit::TestCase
5
+
6
+ def setup
7
+ @rr_name = "example.com."
8
+ @rr_type = "MX"
9
+ @rr_cls = "IN"
10
+ @rr_ttl = 10000
11
+ @rr_preference = 10
12
+ @rr_exchange = "mail.example.com."
13
+ @rr_value = "#{@rr_preference} #{@rr_exchange}"
14
+
15
+ @rr_output = "example.com. 10000 IN MX 10 mail.example.com."
16
+
17
+ @rr = Net::DNS::RR::MX.new(:name => "example.com.", :preference => 10, :exchange => "mail.example.com.", :ttl => 10000)
18
+ end
19
+
20
+
21
+ def test_initialize_from_hash
22
+ @record = Net::DNS::RR::MX.new(:name => "example.com.", :preference => 10, :exchange => "mail.example.com.", :ttl => 10000)
23
+ assert_equal @rr_output, @record.to_s
24
+ assert_equal @rr_name, @record.name
25
+ assert_equal @rr_type, @record.type
26
+ assert_equal @rr_cls, @record.cls
27
+ assert_equal @rr_ttl, @record.ttl
28
+ assert_equal @rr_preference, @record.preference
29
+ assert_equal @rr_exchange, @record.exchange
30
+ end
31
+
32
+ def test_initialize_from_string
33
+ @record = Net::DNS::RR::MX.new("example.com. 10000 IN MX 10 mail.example.com.")
34
+ assert_equal @rr_output, @record.to_s
35
+ assert_equal @rr_name, @record.name
36
+ assert_equal @rr_type, @record.type
37
+ assert_equal @rr_cls, @record.cls
38
+ assert_equal @rr_ttl, @record.ttl
39
+ assert_equal @rr_preference, @record.preference
40
+ assert_equal @rr_exchange, @record.exchange
41
+ end
42
+
43
+ # FIXME: can't get it working with canned data
44
+ # def test_parse
45
+ # data = "\001\220\006google\003com\004s9b2\005psmtp\003com\000"
46
+ # @record = Net::DNS::RR.parse(data)
47
+ # assert_equal @rr_output, @record.to_s
48
+ # assert_equal @rr_name, @record.name
49
+ # assert_equal @rr_type, @record.type
50
+ # assert_equal @rr_cls, @record.cls
51
+ # assert_equal @rr_ttl, @record.ttl
52
+ # assert_equal @rr_preference, @record.preference
53
+ # assert_equal @rr_exchange, @record.exchange
54
+ # end
55
+
56
+
57
+ InvalidArguments = [
58
+ { :name => "google.com" },
59
+ Object.new,
60
+ Array.new(7),
61
+ "10800 IN NS",
62
+ "google.com. 10800 IN NS",
63
+ ]
64
+
65
+ InvalidArguments.each_with_index do |arguments, index|
66
+ define_method "test_initialize_should_raise_with_invalid_arguments_#{index}" do
67
+ assert_raises(ArgumentError) { p Net::DNS::RR::MX.new(arguments) }
68
+ end
69
+ end
70
+
71
+
72
+ def test_preference
73
+ @rr = Net::DNS::RR::MX.new(:name => "example.com.", :preference => 10, :exchange => "mail.example.com.")
74
+ assert_equal 10, @rr.preference
75
+
76
+ @rr = Net::DNS::RR::MX.new(:name => "example.com.", :preference => 100, :exchange => "mail.example.com.")
77
+ assert_equal 100, @rr.preference
78
+ end
79
+
80
+ def test_exchange
81
+ @rr = Net::DNS::RR::MX.new(:name => "example.com.", :preference => 10, :exchange => "mail.example.com.")
82
+ assert_equal "mail.example.com.", @rr.exchange
83
+
84
+ @rr = Net::DNS::RR::MX.new(:name => "example.com.", :preference => 10, :exchange => "mail2.example.com.")
85
+ assert_equal "mail2.example.com.", @rr.exchange
86
+ end
87
+
88
+ def test_value
89
+ @rr = Net::DNS::RR::MX.new(:name => "example.com.", :preference => 10, :exchange => "mail.example.com.")
90
+ assert_equal "10 mail.example.com.", @rr.value
91
+
92
+ @rr = Net::DNS::RR::MX.new(:name => "example.com.", :preference => 100, :exchange => "mail2.example.com.")
93
+ assert_equal "100 mail2.example.com.", @rr.value
94
+ end
95
+
96
+
97
+ def test_inspect
98
+ assert_equal "example.com. 10000 IN MX 10 mail.example.com.",
99
+ @rr.inspect
100
+ end
101
+
102
+ def test_to_s
103
+ assert_equal "example.com. 10000 IN MX 10 mail.example.com.",
104
+ @rr.to_s
105
+ end
106
+
107
+ def test_to_a
108
+ assert_equal ["example.com.", 10000, "IN", "MX", "10 mail.example.com."],
109
+ @rr.to_a
110
+ end
111
+
112
+ end
@@ -2,7 +2,7 @@ require 'test_helper'
2
2
  require 'net/dns/rr'
3
3
 
4
4
  class RRNSTest < Test::Unit::TestCase
5
-
5
+
6
6
  def setup
7
7
  @rr_name = "google.com."
8
8
  @rr_type = "NS"
@@ -11,11 +11,13 @@ class RRNSTest < Test::Unit::TestCase
11
11
  @rr_nsdname = "ns1.google.com."
12
12
 
13
13
  @rr_output = "google.com. 10800 IN NS ns1.google.com."
14
+
15
+ @rr = Net::DNS::RR::NS.new(:name => "google.com.", :nsdname => "ns1.google.com.", :ttl => @rr_ttl)
14
16
  end
15
-
16
-
17
+
18
+
17
19
  def test_initialize_from_hash
18
- @record = Net::DNS::RR::NS.new(:name => @rr_name, :nsdname => @rr_nsdname)
20
+ @record = Net::DNS::RR::NS.new(:name => "google.com.", :nsdname => "ns1.google.com.")
19
21
  assert_equal @rr_output, @record.inspect
20
22
  assert_equal @rr_name, @record.name
21
23
  assert_equal @rr_type, @record.type
@@ -23,9 +25,9 @@ class RRNSTest < Test::Unit::TestCase
23
25
  assert_equal @rr_ttl, @record.ttl
24
26
  assert_equal @rr_nsdname, @record.nsdname
25
27
  end
26
-
28
+
27
29
  def test_initialize_from_string
28
- @record = Net::DNS::RR::NS.new("#{@rr_name} 10800 IN NS #{@rr_nsdname}")
30
+ @record = Net::DNS::RR::NS.new("google.com. 10800 IN NS ns1.google.com.")
29
31
  assert_equal @rr_output, @record.inspect
30
32
  assert_equal @rr_name, @record.name
31
33
  assert_equal @rr_type, @record.type
@@ -33,7 +35,7 @@ class RRNSTest < Test::Unit::TestCase
33
35
  assert_equal @rr_ttl, @record.ttl
34
36
  assert_equal @rr_nsdname, @record.nsdname
35
37
  end
36
-
38
+
37
39
  def test_parse
38
40
  data = "\006google\003com\000\000\002\000\001\000\000*0\000\020\003ns1\006google\003com\000"
39
41
  @record = Net::DNS::RR.parse(data)
@@ -44,10 +46,10 @@ class RRNSTest < Test::Unit::TestCase
44
46
  assert_equal @rr_ttl, @record.ttl
45
47
  assert_equal @rr_nsdname, @record.nsdname
46
48
  end
47
-
48
-
49
+
50
+
49
51
  InvalidArguments = [
50
- { :name => "google.com", :address => "255.256" },
52
+ { :name => "google.com", :nsdname => "255.256" },
51
53
  { :name => "google.com" },
52
54
  Object.new,
53
55
  Array.new(7),
@@ -56,9 +58,29 @@ class RRNSTest < Test::Unit::TestCase
56
58
 
57
59
  InvalidArguments.each_with_index do |arguments, index|
58
60
  define_method "test_initialize_should_raise_with_invalid_arguments_#{index}" do
59
- assert_raise(Net::DNS::RR::ArgumentError) { Net::DNS::RR::A.new(arguments) }
61
+ assert_raises(ArgumentError) { Net::DNS::RR::NS.new(arguments) }
60
62
  end
61
63
  end
62
64
 
65
+
66
+ def test_value
67
+ assert_equal "ns1.google.com.", @rr.value
68
+ end
69
+
70
+
71
+ def test_inspect
72
+ assert_equal "google.com. 10800 IN NS ns1.google.com.",
73
+ @rr.inspect
74
+ end
75
+
76
+ def test_to_s
77
+ assert_equal "google.com. 10800 IN NS ns1.google.com.",
78
+ @rr.to_s
79
+ end
80
+
81
+ def test_to_a
82
+ assert_equal ["google.com.", 10800, "IN", "NS", "ns1.google.com."],
83
+ @rr.to_a
84
+ end
85
+
63
86
  end
64
-
@@ -33,7 +33,7 @@ class RRTypesTest < Test::Unit::TestCase
33
33
  assert_equal(key, instance_from_num.to_s)
34
34
  assert_equal(num.to_s, instance_from_num.to_str)
35
35
  end
36
- assert_raise(Net::DNS::RR::ArgumentError) do
36
+ assert_raises(ArgumentError) do
37
37
  Net::DNS::RR::Types.new(Hash.new)
38
38
  end
39
39
  end
@@ -51,17 +51,17 @@ class RRTypesTest < Test::Unit::TestCase
51
51
  assert_equal(true, Net::DNS::RR::Types.valid?(1))
52
52
  assert_equal(false, Net::DNS::RR::Types.valid?("Q"))
53
53
  assert_equal(false, Net::DNS::RR::Types.valid?(256))
54
- assert_raise(Net::DNS::RR::ArgumentError) do
54
+ assert_raises(ArgumentError) do
55
55
  Net::DNS::RR::Types.valid? Hash.new
56
56
  end
57
57
  end
58
58
 
59
59
  def test_to_str
60
60
  assert_equal("A", Net::DNS::RR::Types.to_str(1))
61
- assert_raise(Net::DNS::RR::ArgumentError) do
61
+ assert_raises(ArgumentError) do
62
62
  Net::DNS::RR::Types.to_str(256)
63
63
  end
64
- assert_raise(Net::DNS::RR::ArgumentError) do
64
+ assert_raises(ArgumentError) do
65
65
  Net::DNS::RR::Types.to_str("string")
66
66
  end
67
67
  end
@@ -122,7 +122,7 @@ class RRTest < Test::Unit::TestCase
122
122
  end
123
123
 
124
124
  def test_range
125
- assert_raise(Net::DNS::RR::ArgumentError) do
125
+ assert_raises(ArgumentError) do
126
126
  Net::DNS::RR.new("google.com. 10800 IM A")
127
127
  end
128
128
  end
metadata CHANGED
@@ -1,55 +1,71 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: net-dns
3
- version: !ruby/object:Gem::Version
4
- version: 0.6.1
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.7.0
5
+ prerelease:
5
6
  platform: ruby
6
- authors:
7
+ authors:
7
8
  - Marco Ceresa
8
9
  - Simone Carletti
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
-
13
- date: 2010-01-18 00:00:00 +01:00
14
- default_executable:
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
17
- name: rcov
13
+ date: 2012-05-02 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rake
17
+ requirement: !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ~>
21
+ - !ruby/object:Gem::Version
22
+ version: '0.9'
18
23
  type: :development
19
- version_requirement:
20
- version_requirements: !ruby/object:Gem::Requirement
21
- requirements:
22
- - - ">="
23
- - !ruby/object:Gem::Version
24
- version: "0"
25
- version:
26
- description: Net::DNS is a pure Ruby DNS library, with a clean OO interface and an extensible API
27
- email:
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ~>
29
+ - !ruby/object:Gem::Version
30
+ version: '0.9'
31
+ - !ruby/object:Gem::Dependency
32
+ name: yard
33
+ requirement: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ! '>='
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ type: :development
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ description: Net::DNS is a pure Ruby DNS library, with a clean OO interface and an
48
+ extensible API.
49
+ email:
28
50
  - ceresa@gmail.com
29
51
  - weppos@weppos.net
30
52
  executables: []
31
-
32
53
  extensions: []
33
-
34
- extra_rdoc_files:
35
- - AUTHORS.rdoc
36
- - CHANGELOG.rdoc
37
- - README.rdoc
38
- - THANKS.rdoc
39
- files:
54
+ extra_rdoc_files: []
55
+ files:
40
56
  - .gitignore
41
- - AUTHORS.rdoc
42
- - CHANGELOG.rdoc
57
+ - .travis.yml
58
+ - CHANGELOG.md
59
+ - Gemfile
43
60
  - README.rdoc
44
61
  - Rakefile
45
62
  - THANKS.rdoc
46
- - VERSION.yml
47
63
  - demo/check_soa.rb
48
64
  - demo/threads.rb
49
65
  - lib/net/dns.rb
50
66
  - lib/net/dns/core_ext.rb
51
67
  - lib/net/dns/header.rb
52
- - lib/net/dns/names/names.rb
68
+ - lib/net/dns/names.rb
53
69
  - lib/net/dns/packet.rb
54
70
  - lib/net/dns/question.rb
55
71
  - lib/net/dns/resolver.rb
@@ -71,54 +87,63 @@ files:
71
87
  - lib/net/dns/rr/txt.rb
72
88
  - lib/net/dns/rr/types.rb
73
89
  - lib/net/dns/version.rb
90
+ - net-dns.gemspec
74
91
  - setup.rb
75
92
  - test/header_test.rb
93
+ - test/names_test.rb
76
94
  - test/packet_test.rb
77
95
  - test/question_test.rb
78
96
  - test/resolver/timeouts_test.rb
79
97
  - test/resolver_test.rb
80
98
  - test/rr/a_test.rb
99
+ - test/rr/aaaa_test.rb
81
100
  - test/rr/classes_test.rb
101
+ - test/rr/cname_test.rb
102
+ - test/rr/hinfo_test.rb
103
+ - test/rr/mr_test.rb
104
+ - test/rr/mx_test.rb
82
105
  - test/rr/ns_test.rb
83
106
  - test/rr/types_test.rb
84
107
  - test/rr_test.rb
85
108
  - test/test_helper.rb
86
- has_rdoc: true
87
109
  homepage: http://github.com/bluemonk/net-dns
88
110
  licenses: []
89
-
90
111
  post_install_message:
91
- rdoc_options:
92
- - --charset=UTF-8
93
- require_paths:
112
+ rdoc_options: []
113
+ require_paths:
94
114
  - lib
95
- required_ruby_version: !ruby/object:Gem::Requirement
96
- requirements:
97
- - - ">="
98
- - !ruby/object:Gem::Version
99
- version: "0"
100
- version:
101
- required_rubygems_version: !ruby/object:Gem::Requirement
102
- requirements:
103
- - - ">="
104
- - !ruby/object:Gem::Version
105
- version: "0"
106
- version:
115
+ required_ruby_version: !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: 1.8.7
121
+ required_rubygems_version: !ruby/object:Gem::Requirement
122
+ none: false
123
+ requirements:
124
+ - - ! '>='
125
+ - !ruby/object:Gem::Version
126
+ version: '0'
107
127
  requirements: []
108
-
109
128
  rubyforge_project: net-dns
110
- rubygems_version: 1.3.5
129
+ rubygems_version: 1.8.21
111
130
  signing_key:
112
131
  specification_version: 3
113
- summary: Pure Ruby DNS library
114
- test_files:
132
+ summary: Pure Ruby DNS library.
133
+ test_files:
115
134
  - test/header_test.rb
135
+ - test/names_test.rb
116
136
  - test/packet_test.rb
117
137
  - test/question_test.rb
118
138
  - test/resolver/timeouts_test.rb
119
139
  - test/resolver_test.rb
120
140
  - test/rr/a_test.rb
141
+ - test/rr/aaaa_test.rb
121
142
  - test/rr/classes_test.rb
143
+ - test/rr/cname_test.rb
144
+ - test/rr/hinfo_test.rb
145
+ - test/rr/mr_test.rb
146
+ - test/rr/mx_test.rb
122
147
  - test/rr/ns_test.rb
123
148
  - test/rr/types_test.rb
124
149
  - test/rr_test.rb