snappy 0.0.17 → 0.4.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 (93) 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 +45 -5
  10. data/Rakefile +32 -29
  11. data/ext/api.c +6 -1
  12. data/ext/extconf.rb +31 -22
  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 +14 -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 +420 -0
  30. data/vendor/snappy/CONTRIBUTING.md +31 -0
  31. data/vendor/snappy/NEWS +52 -0
  32. data/vendor/snappy/{README → README.md} +75 -49
  33. data/vendor/snappy/cmake/SnappyConfig.cmake.in +33 -0
  34. data/vendor/snappy/cmake/config.h.in +66 -0
  35. data/vendor/snappy/docs/README.md +72 -0
  36. data/vendor/snappy/snappy-internal.h +200 -32
  37. data/vendor/snappy/snappy-sinksource.cc +26 -9
  38. data/vendor/snappy/snappy-sinksource.h +11 -11
  39. data/vendor/snappy/snappy-stubs-internal.cc +1 -1
  40. data/vendor/snappy/snappy-stubs-internal.h +299 -302
  41. data/vendor/snappy/snappy-stubs-public.h.in +10 -47
  42. data/vendor/snappy/snappy-test.cc +94 -200
  43. data/vendor/snappy/snappy-test.h +101 -358
  44. data/vendor/snappy/snappy.cc +1437 -474
  45. data/vendor/snappy/snappy.h +31 -12
  46. data/vendor/snappy/snappy_benchmark.cc +378 -0
  47. data/vendor/snappy/snappy_compress_fuzzer.cc +60 -0
  48. data/vendor/snappy/snappy_test_data.cc +57 -0
  49. data/vendor/snappy/snappy_test_data.h +68 -0
  50. data/vendor/snappy/snappy_test_tool.cc +471 -0
  51. data/vendor/snappy/snappy_uncompress_fuzzer.cc +58 -0
  52. data/vendor/snappy/snappy_unittest.cc +271 -792
  53. metadata +42 -92
  54. data/.travis.yml +0 -26
  55. data/smoke.sh +0 -8
  56. data/test/test-snappy-reader.rb +0 -129
  57. data/test/test-snappy-writer.rb +0 -55
  58. data/test/test-snappy.rb +0 -58
  59. data/vendor/snappy/ChangeLog +0 -2468
  60. data/vendor/snappy/INSTALL +0 -370
  61. data/vendor/snappy/Makefile +0 -982
  62. data/vendor/snappy/Makefile.am +0 -26
  63. data/vendor/snappy/Makefile.in +0 -982
  64. data/vendor/snappy/aclocal.m4 +0 -9738
  65. data/vendor/snappy/autogen.sh +0 -12
  66. data/vendor/snappy/autom4te.cache/output.0 +0 -18856
  67. data/vendor/snappy/autom4te.cache/output.1 +0 -18852
  68. data/vendor/snappy/autom4te.cache/requests +0 -297
  69. data/vendor/snappy/autom4te.cache/traces.0 +0 -2689
  70. data/vendor/snappy/autom4te.cache/traces.1 +0 -714
  71. data/vendor/snappy/config.guess +0 -1530
  72. data/vendor/snappy/config.h +0 -135
  73. data/vendor/snappy/config.h.in +0 -134
  74. data/vendor/snappy/config.log +0 -1640
  75. data/vendor/snappy/config.status +0 -2318
  76. data/vendor/snappy/config.sub +0 -1773
  77. data/vendor/snappy/configure +0 -18852
  78. data/vendor/snappy/configure.ac +0 -134
  79. data/vendor/snappy/depcomp +0 -688
  80. data/vendor/snappy/install-sh +0 -527
  81. data/vendor/snappy/libtool +0 -10246
  82. data/vendor/snappy/ltmain.sh +0 -9661
  83. data/vendor/snappy/m4/gtest.m4 +0 -74
  84. data/vendor/snappy/m4/libtool.m4 +0 -8001
  85. data/vendor/snappy/m4/ltoptions.m4 +0 -384
  86. data/vendor/snappy/m4/ltsugar.m4 +0 -123
  87. data/vendor/snappy/m4/ltversion.m4 +0 -23
  88. data/vendor/snappy/m4/lt~obsolete.m4 +0 -98
  89. data/vendor/snappy/missing +0 -331
  90. data/vendor/snappy/snappy-stubs-public.h +0 -100
  91. data/vendor/snappy/snappy.pc +0 -10
  92. data/vendor/snappy/snappy.pc.in +0 -10
  93. 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.4.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: 2024-01-08 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,25 @@ 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_benchmark.cc
76
+ - vendor/snappy/snappy_compress_fuzzer.cc
77
+ - vendor/snappy/snappy_test_data.cc
78
+ - vendor/snappy/snappy_test_data.h
79
+ - vendor/snappy/snappy_test_tool.cc
80
+ - vendor/snappy/snappy_uncompress_fuzzer.cc
136
81
  - vendor/snappy/snappy_unittest.cc
137
- - vendor/snappy/stamp-h1
138
82
  homepage: http://github.com/miyucy/snappy
139
83
  licenses:
140
84
  - MIT
141
- metadata: {}
85
+ metadata:
86
+ homepage_uri: http://github.com/miyucy/snappy
87
+ source_code_uri: http://github.com/miyucy/snappy
88
+ msys2_mingw_dependencies: snappy
142
89
  post_install_message:
143
90
  rdoc_options: []
144
91
  require_paths:
@@ -154,12 +101,15 @@ required_rubygems_version: !ruby/object:Gem::Requirement
154
101
  - !ruby/object:Gem::Version
155
102
  version: '0'
156
103
  requirements: []
157
- rubyforge_project:
158
- rubygems_version: 2.4.5
104
+ rubygems_version: 3.1.6
159
105
  signing_key:
160
106
  specification_version: 4
161
107
  summary: libsnappy binding for Ruby
162
108
  test_files:
163
- - test/test-snappy-reader.rb
164
- - test/test-snappy-writer.rb
165
- - test/test-snappy.rb
109
+ - test/hadoop/snappy_hadoop_reader_test.rb
110
+ - test/hadoop/snappy_hadoop_writer_test.rb
111
+ - test/snappy_hadoop_test.rb
112
+ - test/snappy_reader_test.rb
113
+ - test/snappy_test.rb
114
+ - test/snappy_writer_test.rb
115
+ - 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