snappy 0.0.17 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. checksums.yaml +5 -5
  2. data/.dockerignore +2 -0
  3. data/.github/workflows/main.yml +34 -0
  4. data/.github/workflows/publish.yml +34 -0
  5. data/.gitignore +2 -1
  6. data/.gitmodules +1 -1
  7. data/Dockerfile +13 -0
  8. data/Gemfile +4 -0
  9. data/README.md +29 -5
  10. data/Rakefile +32 -29
  11. data/ext/api.c +6 -1
  12. data/ext/extconf.rb +23 -16
  13. data/lib/snappy/hadoop/reader.rb +62 -0
  14. data/lib/snappy/hadoop/writer.rb +51 -0
  15. data/lib/snappy/hadoop.rb +22 -0
  16. data/lib/snappy/reader.rb +14 -10
  17. data/lib/snappy/shim.rb +1 -1
  18. data/lib/snappy/version.rb +1 -1
  19. data/lib/snappy.rb +5 -4
  20. data/snappy.gemspec +13 -13
  21. data/test/hadoop/snappy_hadoop_reader_test.rb +115 -0
  22. data/test/hadoop/snappy_hadoop_writer_test.rb +48 -0
  23. data/test/snappy_hadoop_test.rb +26 -0
  24. data/test/snappy_reader_test.rb +148 -0
  25. data/test/snappy_test.rb +95 -0
  26. data/test/snappy_writer_test.rb +55 -0
  27. data/test/test_helper.rb +7 -0
  28. data/test.sh +3 -0
  29. data/vendor/snappy/CMakeLists.txt +297 -0
  30. data/vendor/snappy/CONTRIBUTING.md +26 -0
  31. data/vendor/snappy/NEWS +40 -0
  32. data/vendor/snappy/{README → README.md} +27 -18
  33. data/vendor/snappy/cmake/SnappyConfig.cmake.in +33 -0
  34. data/vendor/snappy/cmake/config.h.in +62 -0
  35. data/vendor/snappy/docs/README.md +72 -0
  36. data/vendor/snappy/snappy-internal.h +22 -18
  37. data/vendor/snappy/snappy-stubs-internal.cc +1 -1
  38. data/vendor/snappy/snappy-stubs-internal.h +116 -38
  39. data/vendor/snappy/snappy-stubs-public.h.in +20 -46
  40. data/vendor/snappy/snappy-test.cc +26 -22
  41. data/vendor/snappy/snappy-test.h +24 -98
  42. data/vendor/snappy/snappy.cc +380 -183
  43. data/vendor/snappy/snappy.h +14 -10
  44. data/vendor/snappy/snappy_compress_fuzzer.cc +59 -0
  45. data/vendor/snappy/snappy_uncompress_fuzzer.cc +57 -0
  46. data/vendor/snappy/snappy_unittest.cc +236 -261
  47. metadata +37 -92
  48. data/.travis.yml +0 -26
  49. data/smoke.sh +0 -8
  50. data/test/test-snappy-reader.rb +0 -129
  51. data/test/test-snappy-writer.rb +0 -55
  52. data/test/test-snappy.rb +0 -58
  53. data/vendor/snappy/ChangeLog +0 -2468
  54. data/vendor/snappy/INSTALL +0 -370
  55. data/vendor/snappy/Makefile +0 -982
  56. data/vendor/snappy/Makefile.am +0 -26
  57. data/vendor/snappy/Makefile.in +0 -982
  58. data/vendor/snappy/aclocal.m4 +0 -9738
  59. data/vendor/snappy/autogen.sh +0 -12
  60. data/vendor/snappy/autom4te.cache/output.0 +0 -18856
  61. data/vendor/snappy/autom4te.cache/output.1 +0 -18852
  62. data/vendor/snappy/autom4te.cache/requests +0 -297
  63. data/vendor/snappy/autom4te.cache/traces.0 +0 -2689
  64. data/vendor/snappy/autom4te.cache/traces.1 +0 -714
  65. data/vendor/snappy/config.guess +0 -1530
  66. data/vendor/snappy/config.h +0 -135
  67. data/vendor/snappy/config.h.in +0 -134
  68. data/vendor/snappy/config.log +0 -1640
  69. data/vendor/snappy/config.status +0 -2318
  70. data/vendor/snappy/config.sub +0 -1773
  71. data/vendor/snappy/configure +0 -18852
  72. data/vendor/snappy/configure.ac +0 -134
  73. data/vendor/snappy/depcomp +0 -688
  74. data/vendor/snappy/install-sh +0 -527
  75. data/vendor/snappy/libtool +0 -10246
  76. data/vendor/snappy/ltmain.sh +0 -9661
  77. data/vendor/snappy/m4/gtest.m4 +0 -74
  78. data/vendor/snappy/m4/libtool.m4 +0 -8001
  79. data/vendor/snappy/m4/ltoptions.m4 +0 -384
  80. data/vendor/snappy/m4/ltsugar.m4 +0 -123
  81. data/vendor/snappy/m4/ltversion.m4 +0 -23
  82. data/vendor/snappy/m4/lt~obsolete.m4 +0 -98
  83. data/vendor/snappy/missing +0 -331
  84. data/vendor/snappy/snappy-stubs-public.h +0 -100
  85. data/vendor/snappy/snappy.pc +0 -10
  86. data/vendor/snappy/snappy.pc.in +0 -10
  87. data/vendor/snappy/stamp-h1 +0 -1
metadata CHANGED
@@ -1,57 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: snappy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.17
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - miyucy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-08 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.3'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '1.3'
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: minitest
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
11
+ date: 2022-03-15 00:00:00.000000000 Z
12
+ dependencies: []
55
13
  description: libsnappy binding for Ruby
56
14
  email:
57
15
  - fistfvck@gmail.com
@@ -60,9 +18,12 @@ extensions:
60
18
  - ext/extconf.rb
61
19
  extra_rdoc_files: []
62
20
  files:
21
+ - ".dockerignore"
22
+ - ".github/workflows/main.yml"
23
+ - ".github/workflows/publish.yml"
63
24
  - ".gitignore"
64
25
  - ".gitmodules"
65
- - ".travis.yml"
26
+ - Dockerfile
66
27
  - Gemfile
67
28
  - LICENSE.txt
68
29
  - README.md
@@ -72,52 +33,33 @@ files:
72
33
  - ext/java/src/SnappyExtService.java
73
34
  - ext/java/src/snappy/SnappyModule.java
74
35
  - lib/snappy.rb
36
+ - lib/snappy/hadoop.rb
37
+ - lib/snappy/hadoop/reader.rb
38
+ - lib/snappy/hadoop/writer.rb
75
39
  - lib/snappy/reader.rb
76
40
  - lib/snappy/shim.rb
77
41
  - lib/snappy/version.rb
78
42
  - lib/snappy/writer.rb
79
- - smoke.sh
80
43
  - snappy.gemspec
81
- - test/test-snappy-reader.rb
82
- - test/test-snappy-writer.rb
83
- - test/test-snappy.rb
44
+ - test.sh
45
+ - test/hadoop/snappy_hadoop_reader_test.rb
46
+ - test/hadoop/snappy_hadoop_writer_test.rb
47
+ - test/snappy_hadoop_test.rb
48
+ - test/snappy_reader_test.rb
49
+ - test/snappy_test.rb
50
+ - test/snappy_writer_test.rb
51
+ - test/test_helper.rb
84
52
  - vendor/snappy/AUTHORS
53
+ - vendor/snappy/CMakeLists.txt
54
+ - vendor/snappy/CONTRIBUTING.md
85
55
  - vendor/snappy/COPYING
86
- - vendor/snappy/ChangeLog
87
- - vendor/snappy/INSTALL
88
- - vendor/snappy/Makefile
89
- - vendor/snappy/Makefile.am
90
- - vendor/snappy/Makefile.in
91
56
  - vendor/snappy/NEWS
92
- - vendor/snappy/README
93
- - vendor/snappy/aclocal.m4
94
- - vendor/snappy/autogen.sh
95
- - vendor/snappy/autom4te.cache/output.0
96
- - vendor/snappy/autom4te.cache/output.1
97
- - vendor/snappy/autom4te.cache/requests
98
- - vendor/snappy/autom4te.cache/traces.0
99
- - vendor/snappy/autom4te.cache/traces.1
100
- - vendor/snappy/config.guess
101
- - vendor/snappy/config.h
102
- - vendor/snappy/config.h.in
103
- - vendor/snappy/config.log
104
- - vendor/snappy/config.status
105
- - vendor/snappy/config.sub
106
- - vendor/snappy/configure
107
- - vendor/snappy/configure.ac
108
- - vendor/snappy/depcomp
57
+ - vendor/snappy/README.md
58
+ - vendor/snappy/cmake/SnappyConfig.cmake.in
59
+ - vendor/snappy/cmake/config.h.in
60
+ - vendor/snappy/docs/README.md
109
61
  - vendor/snappy/format_description.txt
110
62
  - vendor/snappy/framing_format.txt
111
- - vendor/snappy/install-sh
112
- - vendor/snappy/libtool
113
- - vendor/snappy/ltmain.sh
114
- - vendor/snappy/m4/gtest.m4
115
- - vendor/snappy/m4/libtool.m4
116
- - vendor/snappy/m4/ltoptions.m4
117
- - vendor/snappy/m4/ltsugar.m4
118
- - vendor/snappy/m4/ltversion.m4
119
- - vendor/snappy/m4/lt~obsolete.m4
120
- - vendor/snappy/missing
121
63
  - vendor/snappy/snappy-c.cc
122
64
  - vendor/snappy/snappy-c.h
123
65
  - vendor/snappy/snappy-internal.h
@@ -125,20 +67,20 @@ files:
125
67
  - vendor/snappy/snappy-sinksource.h
126
68
  - vendor/snappy/snappy-stubs-internal.cc
127
69
  - vendor/snappy/snappy-stubs-internal.h
128
- - vendor/snappy/snappy-stubs-public.h
129
70
  - vendor/snappy/snappy-stubs-public.h.in
130
71
  - vendor/snappy/snappy-test.cc
131
72
  - vendor/snappy/snappy-test.h
132
73
  - vendor/snappy/snappy.cc
133
74
  - vendor/snappy/snappy.h
134
- - vendor/snappy/snappy.pc
135
- - vendor/snappy/snappy.pc.in
75
+ - vendor/snappy/snappy_compress_fuzzer.cc
76
+ - vendor/snappy/snappy_uncompress_fuzzer.cc
136
77
  - vendor/snappy/snappy_unittest.cc
137
- - vendor/snappy/stamp-h1
138
78
  homepage: http://github.com/miyucy/snappy
139
79
  licenses:
140
80
  - MIT
141
- metadata: {}
81
+ metadata:
82
+ homepage_uri: http://github.com/miyucy/snappy
83
+ source_code_uri: http://github.com/miyucy/snappy
142
84
  post_install_message:
143
85
  rdoc_options: []
144
86
  require_paths:
@@ -154,12 +96,15 @@ required_rubygems_version: !ruby/object:Gem::Requirement
154
96
  - !ruby/object:Gem::Version
155
97
  version: '0'
156
98
  requirements: []
157
- rubyforge_project:
158
- rubygems_version: 2.4.5
99
+ rubygems_version: 3.1.6
159
100
  signing_key:
160
101
  specification_version: 4
161
102
  summary: libsnappy binding for Ruby
162
103
  test_files:
163
- - test/test-snappy-reader.rb
164
- - test/test-snappy-writer.rb
165
- - test/test-snappy.rb
104
+ - test/hadoop/snappy_hadoop_reader_test.rb
105
+ - test/hadoop/snappy_hadoop_writer_test.rb
106
+ - test/snappy_hadoop_test.rb
107
+ - test/snappy_reader_test.rb
108
+ - test/snappy_test.rb
109
+ - test/snappy_writer_test.rb
110
+ - test/test_helper.rb
data/.travis.yml DELETED
@@ -1,26 +0,0 @@
1
- language: ruby
2
- sudo: false
3
- cache:
4
- bundler: true
5
- directories:
6
- - "$HOME/.ccache"
7
- rvm:
8
- - 1.9.3
9
- - 2.2
10
- - 2.3
11
- - 2.4
12
- - jruby-19mode
13
- env:
14
- global:
15
- - PATH="/usr/lib/ccache:$PATH"
16
- before_install:
17
- - gem install bundler
18
- deploy:
19
- provider: rubygems
20
- api_key:
21
- secure: Jwk5pSUD9dUb34fO4dLamqhQw9U/t/5pHX7l5LKE4e1MDlD9fq/KB/DFpRTSfA0s8XUu+NZYtRO+6GZBEBY5UjZyPcUk5izaQzMWANP6QEMI4mYheSFUXTGkimV8MFxo2Fp7itZBM9SsLccDp/59nmbhBUMdr4OECZtd1Igjz63AtRdD7JgZwhC2XqBVbcxyx78VcZH8r4JEZzpcnZjjGN9YwQFubhiPs0V2uTMp/kGSWeP4U3T71MrvRmDlu8QJTsTRsvhv+zDatFySzs2SGsn25+cUCOqWnb5vcwtCbfj7trY+DLO3FqZOvQlvDfvyOy9LlLRpovhu6w+L42Z2ZN5U1Ovz0bMjk5WGLlXRxCLTRqXihvJrtFuL/7B2YSXcWPBNt5HWFwtapEJDm+CJoKpqa/WB7gEgO+uAocHbRqbg64rnPLODOEH0xGeRNSXBA3P5JeVNYhvpFdX8LclRFaVpfYDDenzRV9zpIppMXSq3Suzw/nZPBL9cuuIsBYG6hnijhZertWIRjZqw8D/1wEBd6VT7cDQ+PsNBGKhvPBVd5Nb7Zh9YjwCv4BQHB6XekiKi7mGFN4X/6eTzudRYxG7KyrYqk9AQ6KmEv5U/Xv+Wcar86O49LtNqYykYKLknC9CiUwTDp4lkVD8D3LoIzkL2/AeZyI6NQso8tymB0CM=
22
- gem: snappy
23
- on:
24
- tags: true
25
- repo: miyucy/snappy
26
- script: bundle exec rake && ./smoke.sh
data/smoke.sh DELETED
@@ -1,8 +0,0 @@
1
- #!/bin/bash
2
- gem list | grep snappy && gem uninstall --force snappy
3
- bundle exec rake clean build
4
- gem install --no-ri --no-rdoc "$(ls pkg/snappy-*.gem)"
5
- cat <<EOF | ruby
6
- require 'snappy'
7
- abort if Snappy.inflate(Snappy.deflate(File.read('smoke.sh'))) != File.read('smoke.sh')
8
- EOF
@@ -1,129 +0,0 @@
1
- require "minitest/autorun"
2
- require "minitest/spec"
3
- require "snappy"
4
- require "stringio"
5
-
6
- describe Snappy::Reader do
7
- before do
8
- @buffer = StringIO.new
9
- Snappy::Writer.new @buffer do |w|
10
- w << "foo"
11
- w << "bar"
12
- w << "baz"
13
- w << "quux"
14
- end
15
- @buffer.rewind
16
- end
17
-
18
- subject do
19
- Snappy::Reader.new @buffer
20
- end
21
-
22
- describe :initialize do
23
- it "should yield itself to the block" do
24
- yielded = nil
25
- returned = Snappy::Reader.new @buffer do |r|
26
- yielded = r
27
- end
28
- returned.must_equal yielded
29
- end
30
-
31
- it "should read the header" do
32
- subject.magic.must_equal Snappy::Writer::MAGIC
33
- subject.default_version.must_equal Snappy::Writer::DEFAULT_VERSION
34
- subject.minimum_compatible_version.must_equal Snappy::Writer::MINIMUM_COMPATIBLE_VERSION
35
- end
36
- end
37
-
38
- describe :initialize_without_headers do
39
- before do
40
- @buffer = StringIO.new
41
- @buffer << Snappy.deflate("HelloWorld" * 10)
42
- @buffer.rewind
43
- end
44
-
45
- it "should inflate with a magic header" do
46
- subject.read.must_equal "HelloWorld" * 10
47
- end
48
-
49
- it "should not receive `length' in eaching" do
50
- length = MiniTest::Mock.new.expect(:call, 0)
51
- @buffer.stub(:length, length) do
52
- subject.read
53
- end
54
- -> { length.verify }.must_raise MockExpectationError
55
- end
56
- end
57
-
58
- describe :io do
59
- it "should be a constructor argument" do
60
- subject.io.must_equal @buffer
61
- end
62
-
63
- it "should not receive `length' in initializing" do
64
- length = MiniTest::Mock.new.expect(:call, 0)
65
- @buffer.stub(:length, length) do
66
- Snappy::Reader.new @buffer
67
- end
68
- -> { length.verify }.must_raise MockExpectationError
69
- end
70
- end
71
-
72
- describe :each do
73
- before do
74
- Snappy::Writer.new @buffer do |w|
75
- w << "foo"
76
- w << "bar"
77
- w.dump!
78
- w << "baz"
79
- w << "quux"
80
- end
81
- @buffer.rewind
82
- end
83
-
84
- it "should yield each chunk" do
85
- chunks = []
86
- Snappy::Reader.new(@buffer).each do |chunk|
87
- chunks << chunk
88
- end
89
- chunks.must_equal ["foobar", "bazquux"]
90
- end
91
- end
92
-
93
- describe :read do
94
- before do
95
- Snappy::Writer.new @buffer do |w|
96
- w << "foo"
97
- w << "bar"
98
- w << "baz"
99
- w << "quux"
100
- end
101
- @buffer.rewind
102
- end
103
-
104
- it "should return the bytes" do
105
- Snappy::Reader.new(@buffer).read.must_equal "foobarbazquux"
106
- end
107
- end
108
-
109
- describe :each_line do
110
- before do
111
- Snappy::Writer.new @buffer do |w|
112
- w << "foo\n"
113
- w << "bar"
114
- w.dump!
115
- w << "baz\n"
116
- w << "quux\n"
117
- end
118
- @buffer.rewind
119
- end
120
-
121
- it "should yield each line" do
122
- lines = []
123
- Snappy::Reader.new(@buffer).each_line do |line|
124
- lines << line
125
- end
126
- lines.must_equal ["foo", "barbaz", "quux"]
127
- end
128
- end
129
- end
@@ -1,55 +0,0 @@
1
- require "minitest/autorun"
2
- require "minitest/spec"
3
- require "snappy"
4
- require "stringio"
5
-
6
- describe Snappy::Writer do
7
- before do
8
- @buffer = StringIO.new
9
- end
10
-
11
- subject do
12
- Snappy::Writer.new @buffer
13
- end
14
-
15
- describe :initialize do
16
- it "should yield itself to the block" do
17
- yielded = nil
18
- returned = Snappy::Writer.new @buffer do |w|
19
- yielded = w
20
- end
21
- returned.must_equal yielded
22
- end
23
-
24
- it "should write the header" do
25
- subject.io.string.must_equal [Snappy::Writer::MAGIC,
26
- Snappy::Writer::DEFAULT_VERSION,
27
- Snappy::Writer::MINIMUM_COMPATIBLE_VERSION].pack("a8NN")
28
- end
29
-
30
- it "should dump on the end of yield" do
31
- Snappy::Writer.new @buffer do |w|
32
- w << "foo"
33
- end
34
- foo = Snappy.deflate "foo"
35
- @buffer.string[16, @buffer.size - 16].must_equal [foo.size, foo].pack("Na#{foo.size}")
36
- end
37
- end
38
-
39
- describe :io do
40
- it "should be a constructor argument" do
41
- io = StringIO.new
42
- Snappy::Writer.new(io).io.must_equal io
43
- end
44
- end
45
-
46
- describe :block_size do
47
- it "should default to DEFAULT_BLOCK_SIZE" do
48
- Snappy::Writer.new(StringIO.new).block_size.must_equal Snappy::Writer::DEFAULT_BLOCK_SIZE
49
- end
50
-
51
- it "should be settable via the constructor" do
52
- Snappy::Writer.new(StringIO.new, 42).block_size.must_equal 42
53
- end
54
- end
55
- end
data/test/test-snappy.rb DELETED
@@ -1,58 +0,0 @@
1
- require 'minitest/autorun'
2
- require 'minitest/spec'
3
- require 'snappy'
4
-
5
- describe Snappy do
6
- T = [*'a'..'z', *'A'..'Z', *'0'..'9']
7
-
8
- it 'well done' do
9
- s = Array.new(1024){T.sample}.join
10
- Snappy.inflate(Snappy.deflate s).must_equal(s)
11
- end
12
-
13
- it 'well done (pair)' do
14
- s = Array.new(1024){T.sample}.join
15
- [
16
- [:deflate, :inflate],
17
- [:compress, :uncompress],
18
- [:dump, :load],
19
- ].each do |(i, o)|
20
- Snappy.__send__(o, (Snappy.__send__ i, s)).must_equal(s)
21
- eval %{Snappy.#{o}(Snappy.#{i} s).must_equal(s)}
22
- end
23
- end
24
-
25
- describe '#deflate' do
26
- it 'can pass buffer' do
27
- skip 'cannot pass buffer in jruby' if defined? JRUBY_VERSION
28
- s = 'a' * 1024
29
- d = ' ' * 1024
30
- r = Snappy.deflate(s, d)
31
- d.must_be_same_as r
32
- end
33
- end
34
-
35
- describe '#inflate' do
36
- it 'can pass buffer' do
37
- skip 'cannot pass buffer in jruby' if defined? JRUBY_VERSION
38
- s = Snappy.deflate('a' * 1024)
39
- d = ' ' * 1024
40
- r = Snappy.inflate(s, d)
41
- d.must_be_same_as r
42
- end
43
- end
44
-
45
- describe '#valid?' do
46
- it 'return true when passed deflated data' do
47
- skip 'snappy-jars does not have valid?' if defined? JRUBY_VERSION
48
- d = Snappy.deflate(Array.new(1024){T.sample}.join)
49
- Snappy.valid?(d).must_equal true
50
- end
51
-
52
- it 'return false when passed invalid data' do
53
- skip 'snappy-jars does not have valid?' if defined? JRUBY_VERSION
54
- d = Snappy.deflate(Array.new(1024){T.sample}.join).reverse
55
- Snappy.valid?(d).must_equal false
56
- end
57
- end
58
- end