snappy 0.1.0 → 0.2.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.
- checksums.yaml +4 -4
- data/.github/workflows/main.yml +34 -0
- data/.github/workflows/publish.yml +34 -0
- data/Gemfile +3 -4
- data/Rakefile +32 -30
- data/ext/api.c +6 -1
- data/lib/snappy.rb +5 -5
- data/lib/snappy/hadoop/reader.rb +6 -2
- data/lib/snappy/reader.rb +11 -7
- data/lib/snappy/shim.rb +1 -1
- data/lib/snappy/version.rb +1 -1
- data/snappy.gemspec +13 -9
- data/test/hadoop/snappy_hadoop_reader_test.rb +115 -0
- data/test/hadoop/snappy_hadoop_writer_test.rb +48 -0
- data/test/snappy_hadoop_test.rb +26 -0
- data/test/snappy_reader_test.rb +148 -0
- data/test/snappy_test.rb +95 -0
- data/test/snappy_writer_test.rb +55 -0
- data/test/test_helper.rb +7 -0
- data/vendor/snappy/CMakeLists.txt +177 -54
- data/vendor/snappy/NEWS +8 -0
- data/vendor/snappy/README.md +19 -20
- data/vendor/snappy/cmake/SnappyConfig.cmake.in +33 -0
- data/vendor/snappy/cmake/config.h.in +6 -6
- data/vendor/snappy/docs/README.md +72 -0
- data/vendor/snappy/snappy-internal.h +12 -5
- data/vendor/snappy/snappy-stubs-internal.cc +1 -1
- data/vendor/snappy/snappy-stubs-internal.h +60 -15
- data/vendor/snappy/snappy-stubs-public.h.in +16 -36
- data/vendor/snappy/snappy-test.cc +16 -15
- data/vendor/snappy/snappy-test.h +12 -60
- data/vendor/snappy/snappy.cc +333 -187
- data/vendor/snappy/snappy.h +14 -10
- data/vendor/snappy/snappy_compress_fuzzer.cc +59 -0
- data/vendor/snappy/snappy_uncompress_fuzzer.cc +57 -0
- data/vendor/snappy/snappy_unittest.cc +220 -124
- metadata +26 -20
- data/.travis.yml +0 -31
- data/smoke.sh +0 -8
- data/test/hadoop/test-snappy-hadoop-reader.rb +0 -103
- data/test/hadoop/test-snappy-hadoop-writer.rb +0 -48
- data/test/test-snappy-hadoop.rb +0 -22
- data/test/test-snappy-reader.rb +0 -129
- data/test/test-snappy-writer.rb +0 -55
- data/test/test-snappy.rb +0 -58
- data/vendor/snappy/cmake/SnappyConfig.cmake +0 -1
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: snappy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- miyucy
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-12-
|
11
|
+
date: 2020-12-26 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: libsnappy binding for Ruby
|
14
14
|
email:
|
@@ -18,9 +18,10 @@ extensions:
|
|
18
18
|
- ext/extconf.rb
|
19
19
|
extra_rdoc_files: []
|
20
20
|
files:
|
21
|
+
- ".github/workflows/main.yml"
|
22
|
+
- ".github/workflows/publish.yml"
|
21
23
|
- ".gitignore"
|
22
24
|
- ".gitmodules"
|
23
|
-
- ".travis.yml"
|
24
25
|
- Gemfile
|
25
26
|
- LICENSE.txt
|
26
27
|
- README.md
|
@@ -37,22 +38,23 @@ files:
|
|
37
38
|
- lib/snappy/shim.rb
|
38
39
|
- lib/snappy/version.rb
|
39
40
|
- lib/snappy/writer.rb
|
40
|
-
- smoke.sh
|
41
41
|
- snappy.gemspec
|
42
|
-
- test/hadoop/
|
43
|
-
- test/hadoop/
|
44
|
-
- test/
|
45
|
-
- test/
|
46
|
-
- test/
|
47
|
-
- test/
|
42
|
+
- test/hadoop/snappy_hadoop_reader_test.rb
|
43
|
+
- test/hadoop/snappy_hadoop_writer_test.rb
|
44
|
+
- test/snappy_hadoop_test.rb
|
45
|
+
- test/snappy_reader_test.rb
|
46
|
+
- test/snappy_test.rb
|
47
|
+
- test/snappy_writer_test.rb
|
48
|
+
- test/test_helper.rb
|
48
49
|
- vendor/snappy/AUTHORS
|
49
50
|
- vendor/snappy/CMakeLists.txt
|
50
51
|
- vendor/snappy/CONTRIBUTING.md
|
51
52
|
- vendor/snappy/COPYING
|
52
53
|
- vendor/snappy/NEWS
|
53
54
|
- vendor/snappy/README.md
|
54
|
-
- vendor/snappy/cmake/SnappyConfig.cmake
|
55
|
+
- vendor/snappy/cmake/SnappyConfig.cmake.in
|
55
56
|
- vendor/snappy/cmake/config.h.in
|
57
|
+
- vendor/snappy/docs/README.md
|
56
58
|
- vendor/snappy/format_description.txt
|
57
59
|
- vendor/snappy/framing_format.txt
|
58
60
|
- vendor/snappy/snappy-c.cc
|
@@ -67,11 +69,15 @@ files:
|
|
67
69
|
- vendor/snappy/snappy-test.h
|
68
70
|
- vendor/snappy/snappy.cc
|
69
71
|
- vendor/snappy/snappy.h
|
72
|
+
- vendor/snappy/snappy_compress_fuzzer.cc
|
73
|
+
- vendor/snappy/snappy_uncompress_fuzzer.cc
|
70
74
|
- vendor/snappy/snappy_unittest.cc
|
71
75
|
homepage: http://github.com/miyucy/snappy
|
72
76
|
licenses:
|
73
77
|
- MIT
|
74
|
-
metadata:
|
78
|
+
metadata:
|
79
|
+
homepage_uri: http://github.com/miyucy/snappy
|
80
|
+
source_code_uri: http://github.com/miyucy/snappy
|
75
81
|
post_install_message:
|
76
82
|
rdoc_options: []
|
77
83
|
require_paths:
|
@@ -87,15 +93,15 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
87
93
|
- !ruby/object:Gem::Version
|
88
94
|
version: '0'
|
89
95
|
requirements: []
|
90
|
-
|
91
|
-
rubygems_version: 2.7.6.2
|
96
|
+
rubygems_version: 3.1.4
|
92
97
|
signing_key:
|
93
98
|
specification_version: 4
|
94
99
|
summary: libsnappy binding for Ruby
|
95
100
|
test_files:
|
96
|
-
- test/hadoop/
|
97
|
-
- test/hadoop/
|
98
|
-
- test/
|
99
|
-
- test/
|
100
|
-
- test/
|
101
|
-
- test/
|
101
|
+
- test/hadoop/snappy_hadoop_reader_test.rb
|
102
|
+
- test/hadoop/snappy_hadoop_writer_test.rb
|
103
|
+
- test/snappy_hadoop_test.rb
|
104
|
+
- test/snappy_reader_test.rb
|
105
|
+
- test/snappy_test.rb
|
106
|
+
- test/snappy_writer_test.rb
|
107
|
+
- test/test_helper.rb
|
data/.travis.yml
DELETED
@@ -1,31 +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
|
-
- 2.5
|
13
|
-
- jruby-19mode
|
14
|
-
env:
|
15
|
-
global:
|
16
|
-
- PATH="/usr/lib/ccache:$PATH"
|
17
|
-
before_install:
|
18
|
-
- travis_retry gem install bundler --no-document -v 1.16.1
|
19
|
-
addons:
|
20
|
-
apt:
|
21
|
-
packages:
|
22
|
-
- cmake
|
23
|
-
deploy:
|
24
|
-
provider: rubygems
|
25
|
-
api_key:
|
26
|
-
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=
|
27
|
-
gem: snappy
|
28
|
-
on:
|
29
|
-
tags: true
|
30
|
-
repo: miyucy/snappy
|
31
|
-
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-document "$(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,103 +0,0 @@
|
|
1
|
-
require "minitest/autorun"
|
2
|
-
require "minitest/spec"
|
3
|
-
require "snappy"
|
4
|
-
require "stringio"
|
5
|
-
|
6
|
-
describe Snappy::Hadoop::Reader do
|
7
|
-
before do
|
8
|
-
@buffer = StringIO.new
|
9
|
-
Snappy::Hadoop::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::Hadoop::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::Hadoop::Reader.new @buffer do |r|
|
26
|
-
yielded = r
|
27
|
-
end
|
28
|
-
returned.must_equal yielded
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
describe :io do
|
33
|
-
it "should be a constructor argument" do
|
34
|
-
subject.io.must_equal @buffer
|
35
|
-
end
|
36
|
-
|
37
|
-
it "should not receive `length' in initializing" do
|
38
|
-
length = MiniTest::Mock.new.expect(:call, 0)
|
39
|
-
@buffer.stub(:length, length) do
|
40
|
-
Snappy::Hadoop::Reader.new @buffer
|
41
|
-
end
|
42
|
-
-> { length.verify }.must_raise MockExpectationError
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
describe :each do
|
47
|
-
before do
|
48
|
-
Snappy::Hadoop::Writer.new @buffer do |w|
|
49
|
-
w << "foo"
|
50
|
-
w << "bar"
|
51
|
-
w.dump!
|
52
|
-
w << "baz"
|
53
|
-
w << "quux"
|
54
|
-
end
|
55
|
-
@buffer.rewind
|
56
|
-
end
|
57
|
-
|
58
|
-
it "should yield each chunk" do
|
59
|
-
chunks = []
|
60
|
-
Snappy::Hadoop::Reader.new(@buffer).each do |chunk|
|
61
|
-
chunks << chunk
|
62
|
-
end
|
63
|
-
chunks.must_equal ["foobar", "bazquux"]
|
64
|
-
end
|
65
|
-
end
|
66
|
-
|
67
|
-
describe :read do
|
68
|
-
before do
|
69
|
-
Snappy::Hadoop::Writer.new @buffer do |w|
|
70
|
-
w << "foo"
|
71
|
-
w << "bar"
|
72
|
-
w << "baz"
|
73
|
-
w << "quux"
|
74
|
-
end
|
75
|
-
@buffer.rewind
|
76
|
-
end
|
77
|
-
|
78
|
-
it "should return the bytes" do
|
79
|
-
Snappy::Hadoop::Reader.new(@buffer).read.must_equal "foobarbazquux"
|
80
|
-
end
|
81
|
-
end
|
82
|
-
|
83
|
-
describe :each_line do
|
84
|
-
before do
|
85
|
-
Snappy::Hadoop::Writer.new @buffer do |w|
|
86
|
-
w << "foo\n"
|
87
|
-
w << "bar"
|
88
|
-
w.dump!
|
89
|
-
w << "baz\n"
|
90
|
-
w << "quux\n"
|
91
|
-
end
|
92
|
-
@buffer.rewind
|
93
|
-
end
|
94
|
-
|
95
|
-
it "should yield each line" do
|
96
|
-
lines = []
|
97
|
-
Snappy::Hadoop::Reader.new(@buffer).each_line do |line|
|
98
|
-
lines << line
|
99
|
-
end
|
100
|
-
lines.must_equal ["foo", "barbaz", "quux"]
|
101
|
-
end
|
102
|
-
end
|
103
|
-
end
|
@@ -1,48 +0,0 @@
|
|
1
|
-
require "minitest/autorun"
|
2
|
-
require "minitest/spec"
|
3
|
-
require "snappy"
|
4
|
-
require "stringio"
|
5
|
-
|
6
|
-
describe Snappy::Hadoop::Writer do
|
7
|
-
before do
|
8
|
-
@buffer = StringIO.new
|
9
|
-
end
|
10
|
-
|
11
|
-
subject do
|
12
|
-
Snappy::Hadoop::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::Hadoop::Writer.new @buffer do |w|
|
19
|
-
yielded = w
|
20
|
-
end
|
21
|
-
returned.must_equal yielded
|
22
|
-
end
|
23
|
-
|
24
|
-
it "should dump on the end of yield" do
|
25
|
-
Snappy::Hadoop::Writer.new @buffer do |w|
|
26
|
-
w << "foo"
|
27
|
-
end
|
28
|
-
@buffer.string.must_equal "\u0000\u0000\u0000\u0003\u0000\u0000\u0000\u0005\u0003\bfoo"
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
describe :io do
|
33
|
-
it "should be a constructor argument" do
|
34
|
-
io = StringIO.new
|
35
|
-
Snappy::Hadoop::Writer.new(io).io.must_equal io
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
describe :block_size do
|
40
|
-
it "should default to DEFAULT_BLOCK_SIZE" do
|
41
|
-
Snappy::Hadoop::Writer.new(StringIO.new).block_size.must_equal Snappy::Hadoop::Writer::DEFAULT_BLOCK_SIZE
|
42
|
-
end
|
43
|
-
|
44
|
-
it "should be settable via the constructor" do
|
45
|
-
Snappy::Hadoop::Writer.new(StringIO.new, 42).block_size.must_equal 42
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
data/test/test-snappy-hadoop.rb
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
require 'minitest/autorun'
|
2
|
-
require 'minitest/spec'
|
3
|
-
require 'snappy'
|
4
|
-
|
5
|
-
describe Snappy::Hadoop 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::Hadoop.inflate(Snappy::Hadoop.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
|
-
].each do |(i, o)|
|
18
|
-
Snappy::Hadoop.__send__(o, (Snappy::Hadoop.__send__ i, s)).must_equal(s)
|
19
|
-
eval %{Snappy::Hadoop.#{o}(Snappy::Hadoop.#{i} s).must_equal(s)}
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
data/test/test-snappy-reader.rb
DELETED
@@ -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
|