net-dns 0.6.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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