msgpack 1.2.10 → 1.5.1

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 (55) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yaml +57 -0
  3. data/.gitignore +3 -1
  4. data/.rubocop.yml +4 -1
  5. data/ChangeLog +60 -0
  6. data/Gemfile +3 -0
  7. data/README.md +264 -0
  8. data/Rakefile +1 -9
  9. data/doclib/msgpack/factory.rb +47 -3
  10. data/doclib/msgpack/packer.rb +5 -4
  11. data/doclib/msgpack/time.rb +22 -0
  12. data/doclib/msgpack/timestamp.rb +44 -0
  13. data/doclib/msgpack/unpacker.rb +2 -2
  14. data/ext/java/org/msgpack/jruby/Buffer.java +23 -16
  15. data/ext/java/org/msgpack/jruby/Decoder.java +46 -23
  16. data/ext/java/org/msgpack/jruby/Encoder.java +68 -30
  17. data/ext/java/org/msgpack/jruby/ExtensionRegistry.java +37 -49
  18. data/ext/java/org/msgpack/jruby/ExtensionValue.java +5 -8
  19. data/ext/java/org/msgpack/jruby/Factory.java +47 -7
  20. data/ext/java/org/msgpack/jruby/Packer.java +29 -17
  21. data/ext/java/org/msgpack/jruby/Unpacker.java +72 -37
  22. data/ext/msgpack/buffer.c +4 -16
  23. data/ext/msgpack/buffer.h +46 -5
  24. data/ext/msgpack/buffer_class.c +23 -15
  25. data/ext/msgpack/compat.h +1 -12
  26. data/ext/msgpack/extconf.rb +39 -7
  27. data/ext/msgpack/factory_class.c +87 -20
  28. data/ext/msgpack/packer.c +58 -8
  29. data/ext/msgpack/packer.h +24 -16
  30. data/ext/msgpack/packer_class.c +29 -31
  31. data/ext/msgpack/packer_ext_registry.c +22 -30
  32. data/ext/msgpack/packer_ext_registry.h +38 -31
  33. data/ext/msgpack/unpacker.c +102 -70
  34. data/ext/msgpack/unpacker.h +10 -2
  35. data/ext/msgpack/unpacker_class.c +35 -52
  36. data/ext/msgpack/unpacker_ext_registry.c +40 -16
  37. data/ext/msgpack/unpacker_ext_registry.h +21 -14
  38. data/lib/msgpack/bigint.rb +69 -0
  39. data/lib/msgpack/factory.rb +103 -0
  40. data/lib/msgpack/symbol.rb +21 -4
  41. data/lib/msgpack/time.rb +29 -0
  42. data/lib/msgpack/timestamp.rb +76 -0
  43. data/lib/msgpack/version.rb +4 -7
  44. data/lib/msgpack.rb +8 -12
  45. data/msgpack.gemspec +3 -7
  46. data/spec/bigint_spec.rb +26 -0
  47. data/spec/factory_spec.rb +299 -12
  48. data/spec/msgpack_spec.rb +1 -1
  49. data/spec/packer_spec.rb +18 -0
  50. data/spec/spec_helper.rb +30 -3
  51. data/spec/timestamp_spec.rb +159 -0
  52. data/spec/unpacker_spec.rb +135 -4
  53. metadata +21 -51
  54. data/.travis.yml +0 -43
  55. data/README.rdoc +0 -209
@@ -0,0 +1,159 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe MessagePack::Timestamp do
6
+ describe 'malformed format' do
7
+ it do
8
+ expect do
9
+ MessagePack::Timestamp.from_msgpack_ext([0xd4, 0x00].pack("C*"))
10
+ end.to raise_error(MessagePack::MalformedFormatError)
11
+ end
12
+ end
13
+
14
+ describe 'register_type with Time' do
15
+ let(:factory) do
16
+ factory = MessagePack::Factory.new
17
+ factory.register_type(
18
+ MessagePack::Timestamp::TYPE,
19
+ Time,
20
+ packer: MessagePack::Time::Packer,
21
+ unpacker: MessagePack::Time::Unpacker
22
+ )
23
+ factory
24
+ end
25
+
26
+ let(:time) { Time.local(2019, 6, 17, 1, 2, 3, 123_456_789 / 1000.0) }
27
+ it 'serializes and deserializes Time' do
28
+ prefix_fixext8_with_type_id = [0xd7, -1].pack("c*")
29
+
30
+ packed = factory.pack(time)
31
+ expect(packed).to start_with(prefix_fixext8_with_type_id)
32
+ expect(packed.size).to eq(10)
33
+ unpacked = factory.unpack(packed)
34
+ expect(unpacked.to_i).to eq(time.to_i)
35
+ expect(unpacked.to_f).to eq(time.to_f)
36
+ # expect(unpacked).to eq(time) # we can't do it because of nsec (rational vs float?)
37
+ end
38
+
39
+ let(:time_without_nsec) { Time.local(2019, 6, 17, 1, 2, 3, 0) }
40
+ it 'serializes time without nanosec as fixext4' do
41
+ prefix_fixext4_with_type_id = [0xd6, -1].pack("c*")
42
+
43
+ packed = factory.pack(time_without_nsec)
44
+ expect(packed).to start_with(prefix_fixext4_with_type_id)
45
+ expect(packed.size).to eq(6)
46
+ unpacked = factory.unpack(packed)
47
+ expect(unpacked).to eq(time_without_nsec)
48
+ end
49
+
50
+ let(:time_after_2514) { Time.at(1 << 34) } # the max num of 34bit int means 2514-05-30 01:53:04 UTC
51
+ it 'serializes time after 2038 as ext8' do
52
+ prefix_ext8_with_12bytes_payload_and_type_id = [0xc7, 12, -1].pack("c*")
53
+
54
+ expect(time_after_2514.to_i).to be > 0xffffffff
55
+ packed = factory.pack(time_after_2514)
56
+ expect(packed).to start_with(prefix_ext8_with_12bytes_payload_and_type_id)
57
+ expect(packed.size).to eq(15)
58
+ end
59
+
60
+ it 'runs correctly (regression)' do
61
+ expect(factory.unpack(factory.pack(Time.utc(2200)))).to eq(Time.utc(2200))
62
+ end
63
+
64
+ let(:time32_max) { Time.new(2106, 2, 7, 6, 28, 15, "+00:00") }
65
+ it 'is serialized into timestamp32' do
66
+ expect(factory.pack(time32_max).size).to be 6
67
+ expect(factory.unpack(factory.pack(time32_max)).utc).to eq(time32_max)
68
+ end
69
+
70
+ let(:time64_min) { Time.new(2106, 2, 7, 6, 28, 16, "+00:00") }
71
+ it 'is serialized into timestamp64' do
72
+ expect(factory.pack(time64_min).size).to be 10
73
+ expect(factory.unpack(factory.pack(time64_min)).utc).to eq(time64_min)
74
+ end
75
+
76
+ let(:time64_max) { Time.at(Time.new(2514, 5, 30, 1, 53, 3, "+00:00").to_i, 999999999 / 1000.0r).utc } # TODO: use Time.at(sec, nsec, :nsec) when removing Ruby 2.4 from the list
77
+ it 'is serialized into timestamp64' do
78
+ expect(factory.pack(time64_max).size).to be 10
79
+ expect(factory.unpack(factory.pack(time64_max)).utc).to eq(time64_max)
80
+ end
81
+
82
+ let(:time96_positive_min) { Time.new(2514, 5, 30, 1, 53, 4, "+00:00") }
83
+ it 'is serialized into timestamp96' do
84
+ expect(factory.pack(time96_positive_min).size).to be 15
85
+ expect(factory.unpack(factory.pack(time96_positive_min)).utc).to eq(time96_positive_min)
86
+ end
87
+
88
+ let(:time96_min) { Time.at(-2**63).utc }
89
+ it 'is serialized into timestamp96' do
90
+ skip if IS_JRUBY # JRuby cannot handle numerics larger than long
91
+ expect(factory.pack(time96_min).size).to be 15
92
+ expect(factory.unpack(factory.pack(time96_min)).utc).to eq(time96_min)
93
+ end
94
+
95
+ let(:time96_max) { Time.at(2**63 - 1).utc }
96
+ it 'is serialized into timestamp96' do
97
+ skip if IS_JRUBY # JRuby cannot handle numerics larger than long
98
+ expect(factory.pack(time96_max).size).to be 15
99
+ expect(factory.unpack(factory.pack(time96_max)).utc).to eq(time96_max)
100
+ end
101
+ end
102
+
103
+ describe 'register_type with MessagePack::Timestamp' do
104
+ let(:factory) do
105
+ factory = MessagePack::Factory.new
106
+ factory.register_type(MessagePack::Timestamp::TYPE, MessagePack::Timestamp)
107
+ factory
108
+ end
109
+
110
+ let(:timestamp) { MessagePack::Timestamp.new(Time.now.tv_sec, 123_456_789) }
111
+ it 'serializes and deserializes MessagePack::Timestamp' do
112
+ packed = factory.pack(timestamp)
113
+ unpacked = factory.unpack(packed)
114
+ expect(unpacked).to eq(timestamp)
115
+ end
116
+ end
117
+
118
+ describe 'timestamp32' do
119
+ it 'handles [1, 0]' do
120
+ t = MessagePack::Timestamp.new(1, 0)
121
+
122
+ payload = t.to_msgpack_ext
123
+ unpacked = MessagePack::Timestamp.from_msgpack_ext(payload)
124
+
125
+ expect(unpacked).to eq(t)
126
+ end
127
+ end
128
+
129
+ describe 'timestamp64' do
130
+ it 'handles [1, 1]' do
131
+ t = MessagePack::Timestamp.new(1, 1)
132
+
133
+ payload = t.to_msgpack_ext
134
+ unpacked = MessagePack::Timestamp.from_msgpack_ext(payload)
135
+
136
+ expect(unpacked).to eq(t)
137
+ end
138
+ end
139
+
140
+ describe 'timestamp96' do
141
+ it 'handles [-1, 0]' do
142
+ t = MessagePack::Timestamp.new(-1, 0)
143
+
144
+ payload = t.to_msgpack_ext
145
+ unpacked = MessagePack::Timestamp.from_msgpack_ext(payload)
146
+
147
+ expect(unpacked).to eq(t)
148
+ end
149
+
150
+ it 'handles [-1, 999_999_999]' do
151
+ t = MessagePack::Timestamp.new(-1, 999_999_999)
152
+
153
+ payload = t.to_msgpack_ext
154
+ unpacked = MessagePack::Timestamp.from_msgpack_ext(payload)
155
+
156
+ expect(unpacked).to eq(t)
157
+ end
158
+ end
159
+ end
@@ -1,5 +1,3 @@
1
- # encoding: ascii-8bit
2
-
3
1
  require 'stringio'
4
2
  require 'tempfile'
5
3
  require 'zlib'
@@ -18,13 +16,35 @@ describe MessagePack::Unpacker do
18
16
  it 'gets options to specify how to unpack values' do
19
17
  u1 = MessagePack::Unpacker.new
20
18
  u1.symbolize_keys?.should == false
19
+ u1.freeze?.should == false
21
20
  u1.allow_unknown_ext?.should == false
22
21
 
23
- u2 = MessagePack::Unpacker.new(symbolize_keys: true, allow_unknown_ext: true)
22
+ u2 = MessagePack::Unpacker.new(symbolize_keys: true, freeze: true, allow_unknown_ext: true)
24
23
  u2.symbolize_keys?.should == true
24
+ u2.freeze?.should == true
25
25
  u2.allow_unknown_ext?.should == true
26
26
  end
27
27
 
28
+ if automatic_string_keys_deduplication?
29
+ it 'ensure string hash keys are deduplicated' do
30
+ sample_data = [{"foo" => 1}, {"foo" => 2}]
31
+ sample_packed = MessagePack.pack(sample_data).force_encoding('ASCII-8BIT')
32
+ unpacker.feed(sample_packed)
33
+ hashes = nil
34
+ unpacker.each { |obj| hashes = obj }
35
+ expect(hashes[0].keys.first).to equal(hashes[1].keys.first)
36
+ end
37
+
38
+ it 'ensure strings are not deduplicated' do
39
+ sample_data = ["foo"]
40
+ sample_packed = MessagePack.pack(sample_data).force_encoding('ASCII-8BIT')
41
+ unpacker.feed(sample_packed)
42
+ ary = nil
43
+ unpacker.each { |obj| ary = obj }
44
+ expect(ary.first.frozen?).to eq(false)
45
+ end
46
+ end
47
+
28
48
  it 'gets IO or object which has #read to read data from it' do
29
49
  sample_data = {"message" => "morning!", "num" => 1}
30
50
  sample_packed = MessagePack.pack(sample_data).force_encoding('ASCII-8BIT')
@@ -280,6 +300,21 @@ describe MessagePack::Unpacker do
280
300
  MessagePack.unpack(MessagePack.pack(symbolized_hash), :symbolize_keys => true).should == symbolized_hash
281
301
  end
282
302
 
303
+ it 'MessagePack.unpack symbolize_keys preserve encoding' do
304
+ hash = { :ascii => 1, :utf8_é => 2}
305
+ loaded_hash = MessagePack.load(MessagePack.pack(hash), :symbolize_keys => true)
306
+
307
+ hash.keys[0].encoding.should == Encoding::US_ASCII # Ruby coerce symbols to US-ASCII when possible.
308
+ loaded_hash.keys[0].should == hash.keys[0]
309
+ loaded_hash.keys[0].encoding.should == hash.keys[0].encoding
310
+
311
+ hash.keys[1].encoding.should == Encoding::UTF_8
312
+ loaded_hash.keys[1].should == hash.keys[1]
313
+ loaded_hash.keys[1].encoding.should == hash.keys[1].encoding
314
+
315
+ MessagePack.unpack(MessagePack.pack(hash), :symbolize_keys => true).should == hash
316
+ end
317
+
283
318
  it 'Unpacker#unpack symbolize_keys' do
284
319
  unpacker = MessagePack::Unpacker.new(:symbolize_keys => true)
285
320
  symbolized_hash = {:a => 'b', :c => 'd'}
@@ -621,6 +656,14 @@ describe MessagePack::Unpacker do
621
656
  array = ['foo'] * 10_000
622
657
  MessagePack.unpack(MessagePack.pack(array)).size.should == 10_000
623
658
  end
659
+
660
+ it 'preserves string encoding (issue #200)' do
661
+ string = 'a'.force_encoding(Encoding::UTF_8)
662
+ MessagePack.unpack(MessagePack.pack(string)).encoding.should == string.encoding
663
+
664
+ string *= 256
665
+ MessagePack.unpack(MessagePack.pack(string)).encoding.should == string.encoding
666
+ end
624
667
  end
625
668
 
626
669
  context 'extensions' do
@@ -651,9 +694,97 @@ describe MessagePack::Unpacker do
651
694
  end
652
695
  end
653
696
 
697
+ context 'freeze' do
698
+ let :struct do
699
+ {'hello' => 'world', 'nested' => ['object', {'structure' => true}]}
700
+ end
701
+
702
+ let :buffer do
703
+ MessagePack.pack(struct)
704
+ end
705
+
706
+ let :unpacker do
707
+ described_class.new(:freeze => true)
708
+ end
709
+
710
+ it 'can freeze objects when using .unpack' do
711
+ parsed_struct = MessagePack.unpack(buffer, freeze: true)
712
+ parsed_struct.should == struct
713
+
714
+ parsed_struct.should be_frozen
715
+ parsed_struct['hello'].should be_frozen
716
+ parsed_struct['nested'].should be_frozen
717
+ parsed_struct['nested'][0].should be_frozen
718
+ parsed_struct['nested'][1].should be_frozen
719
+
720
+ if string_deduplication?
721
+ parsed_struct.keys[0].should be_equal('hello'.freeze)
722
+ parsed_struct.keys[1].should be_equal('nested'.freeze)
723
+ parsed_struct.values[0].should be_equal('world'.freeze)
724
+ parsed_struct.values[1][0].should be_equal('object'.freeze)
725
+ parsed_struct.values[1][1].keys[0].should be_equal('structure'.freeze)
726
+ end
727
+ end
728
+
729
+ it 'can freeze objects when using #each' do
730
+ objs = []
731
+ unpacker.feed(buffer)
732
+ unpacker.each do |obj|
733
+ objs << obj
734
+ end
735
+
736
+ parsed_struct = objs.first
737
+ parsed_struct.should == struct
738
+
739
+ parsed_struct.should be_frozen
740
+ parsed_struct['hello'].should be_frozen
741
+ parsed_struct['nested'].should be_frozen
742
+ parsed_struct['nested'][0].should be_frozen
743
+ parsed_struct['nested'][1].should be_frozen
744
+
745
+ if string_deduplication?
746
+ parsed_struct.keys[0].should be_equal('hello'.freeze)
747
+ parsed_struct.keys[1].should be_equal('nested'.freeze)
748
+ parsed_struct.values[0].should be_equal('world'.freeze)
749
+ parsed_struct.values[1][0].should be_equal('object'.freeze)
750
+ parsed_struct.values[1][1].keys[0].should be_equal('structure'.freeze)
751
+ end
752
+ end
753
+
754
+ it 'can freeze objects when using #feed_each' do
755
+ objs = []
756
+ unpacker.feed_each(buffer) do |obj|
757
+ objs << obj
758
+ end
759
+
760
+ parsed_struct = objs.first
761
+ parsed_struct.should == struct
762
+
763
+ parsed_struct.should be_frozen
764
+ parsed_struct['hello'].should be_frozen
765
+ parsed_struct['nested'].should be_frozen
766
+ parsed_struct['nested'][0].should be_frozen
767
+ parsed_struct['nested'][1].should be_frozen
768
+
769
+ if string_deduplication?
770
+ parsed_struct.keys[0].should be_equal('hello'.freeze)
771
+ parsed_struct.keys[1].should be_equal('nested'.freeze)
772
+ parsed_struct.values[0].should be_equal('world'.freeze)
773
+ parsed_struct.values[1][0].should be_equal('object'.freeze)
774
+ parsed_struct.values[1][1].keys[0].should be_equal('structure'.freeze)
775
+ end
776
+ end
777
+ end
778
+
654
779
  context 'binary encoding', :encodings do
655
780
  let :buffer do
656
- MessagePack.pack({'hello' => 'world', 'nested' => ['object', {'structure' => true}]})
781
+ MessagePack.pack({
782
+ 'hello'.b => 'world'.b,
783
+ 'nested'.b => [
784
+ 'object'.b,
785
+ {'structure'.b => true},
786
+ ]
787
+ })
657
788
  end
658
789
 
659
790
  let :unpacker do
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: msgpack
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.10
4
+ version: 1.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sadayuki Furuhashi
8
8
  - Theo Hultberg
9
9
  - Satoshi Tagomori
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2019-04-19 00:00:00.000000000 Z
13
+ date: 2022-04-07 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
@@ -44,30 +44,16 @@ dependencies:
44
44
  name: rake-compiler
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - "~>"
48
- - !ruby/object:Gem::Version
49
- version: '1.0'
50
- type: :development
51
- prerelease: false
52
- version_requirements: !ruby/object:Gem::Requirement
53
- requirements:
54
- - - "~>"
55
- - !ruby/object:Gem::Version
56
- version: '1.0'
57
- - !ruby/object:Gem::Dependency
58
- name: rake-compiler-dock
59
- requirement: !ruby/object:Gem::Requirement
60
- requirements:
61
- - - "~>"
47
+ - - ">="
62
48
  - !ruby/object:Gem::Version
63
- version: 0.7.0
49
+ version: 1.1.9
64
50
  type: :development
65
51
  prerelease: false
66
52
  version_requirements: !ruby/object:Gem::Requirement
67
53
  requirements:
68
- - - "~>"
54
+ - - ">="
69
55
  - !ruby/object:Gem::Version
70
- version: 0.7.0
56
+ version: 1.1.9
71
57
  - !ruby/object:Gem::Dependency
72
58
  name: rspec
73
59
  requirement: !ruby/object:Gem::Requirement
@@ -122,13 +108,13 @@ extensions:
122
108
  - ext/msgpack/extconf.rb
123
109
  extra_rdoc_files: []
124
110
  files:
111
+ - ".github/workflows/ci.yaml"
125
112
  - ".gitignore"
126
113
  - ".rubocop.yml"
127
- - ".travis.yml"
128
114
  - ChangeLog
129
115
  - Gemfile
130
116
  - LICENSE
131
- - README.rdoc
117
+ - README.md
132
118
  - Rakefile
133
119
  - appveyor.yml
134
120
  - bench/pack.rb
@@ -148,6 +134,8 @@ files:
148
134
  - doclib/msgpack/extension_value.rb
149
135
  - doclib/msgpack/factory.rb
150
136
  - doclib/msgpack/packer.rb
137
+ - doclib/msgpack/time.rb
138
+ - doclib/msgpack/timestamp.rb
151
139
  - doclib/msgpack/unpacker.rb
152
140
  - ext/java/org/msgpack/jruby/Buffer.java
153
141
  - ext/java/org/msgpack/jruby/Decoder.java
@@ -188,14 +176,18 @@ files:
188
176
  - ext/msgpack/unpacker_ext_registry.c
189
177
  - ext/msgpack/unpacker_ext_registry.h
190
178
  - lib/msgpack.rb
179
+ - lib/msgpack/bigint.rb
191
180
  - lib/msgpack/core_ext.rb
192
181
  - lib/msgpack/factory.rb
193
182
  - lib/msgpack/packer.rb
194
183
  - lib/msgpack/symbol.rb
184
+ - lib/msgpack/time.rb
185
+ - lib/msgpack/timestamp.rb
195
186
  - lib/msgpack/unpacker.rb
196
187
  - lib/msgpack/version.rb
197
188
  - msgpack.gemspec
198
189
  - msgpack.org.md
190
+ - spec/bigint_spec.rb
199
191
  - spec/cases.json
200
192
  - spec/cases.msg
201
193
  - spec/cases_compact.msg
@@ -217,13 +209,14 @@ files:
217
209
  - spec/packer_spec.rb
218
210
  - spec/random_compat.rb
219
211
  - spec/spec_helper.rb
212
+ - spec/timestamp_spec.rb
220
213
  - spec/unpack_spec.rb
221
214
  - spec/unpacker_spec.rb
222
215
  homepage: http://msgpack.org/
223
216
  licenses:
224
217
  - Apache 2.0
225
218
  metadata: {}
226
- post_install_message:
219
+ post_install_message:
227
220
  rdoc_options: []
228
221
  require_paths:
229
222
  - lib
@@ -231,38 +224,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
231
224
  requirements:
232
225
  - - ">="
233
226
  - !ruby/object:Gem::Version
234
- version: '0'
227
+ version: '2.4'
235
228
  required_rubygems_version: !ruby/object:Gem::Requirement
236
229
  requirements:
237
230
  - - ">="
238
231
  - !ruby/object:Gem::Version
239
232
  version: '0'
240
233
  requirements: []
241
- rubygems_version: 3.0.3
242
- signing_key:
234
+ rubygems_version: 3.3.3
235
+ signing_key:
243
236
  specification_version: 4
244
237
  summary: MessagePack, a binary-based efficient data interchange format.
245
- test_files:
246
- - spec/cases.json
247
- - spec/cases.msg
248
- - spec/cases_compact.msg
249
- - spec/cases_spec.rb
250
- - spec/cruby/buffer_io_spec.rb
251
- - spec/cruby/buffer_packer.rb
252
- - spec/cruby/buffer_spec.rb
253
- - spec/cruby/buffer_unpacker.rb
254
- - spec/cruby/unpacker_spec.rb
255
- - spec/ext_value_spec.rb
256
- - spec/exttypes.rb
257
- - spec/factory_spec.rb
258
- - spec/format_spec.rb
259
- - spec/jruby/benchmarks/shootout_bm.rb
260
- - spec/jruby/benchmarks/symbolize_keys_bm.rb
261
- - spec/jruby/unpacker_spec.rb
262
- - spec/msgpack_spec.rb
263
- - spec/pack_spec.rb
264
- - spec/packer_spec.rb
265
- - spec/random_compat.rb
266
- - spec/spec_helper.rb
267
- - spec/unpack_spec.rb
268
- - spec/unpacker_spec.rb
238
+ test_files: []
data/.travis.yml DELETED
@@ -1,43 +0,0 @@
1
- language: ruby
2
-
3
- sudo: false
4
-
5
- branches:
6
- only:
7
- - master
8
-
9
- gemfile:
10
- - Gemfile
11
-
12
- before_install:
13
- # This is only for Ruby 2.5.0, Bundler 1.16.1 and rubygems 2.7.3
14
- # See https://github.com/travis-ci/travis-ci/issues/8969
15
- - "[ \"x2.7.3\" = \"x\"$(gem --version) ] && gem update --system --no-document || echo \"no need to update rubygem\""
16
-
17
- # http://rubies.travis-ci.org/
18
- matrix:
19
- include:
20
- - rvm: 2.3.8
21
- os: linux
22
- - rvm: 2.4.5
23
- os: linux
24
- - rvm: 2.5.3
25
- os: linux
26
- - rvm: 2.6.1
27
- os: linux
28
- - rvm: 2.6.1
29
- os: osx
30
- - rvm: ruby-head
31
- os: linux
32
- - rvm: jruby-9.1.9.0
33
- os: linux
34
- - rvm: jruby-head
35
- os: linux
36
- - rvm: jruby-19mode
37
- os: linux
38
- allow_failures:
39
- - rvm: 2.6.1
40
- os: osx
41
- - rvm: ruby-head
42
- - rvm: jruby-head
43
- - rvm: jruby-19mode