This is an automated email from the ASF dual-hosted git repository. rskraba pushed a commit to branch branch-1.9 in repository https://gitbox.apache.org/repos/asf/avro.git
commit f6aee38d6cedf43d65251c75226be7c5121c8796 Author: Kengo Seki <[email protected]> AuthorDate: Sat Jul 13 02:55:42 2019 +0900 AVRO-2456: Add interop test for the snappy and zstd codec (#573) --- lang/java/avro/pom.xml | 32 ++++++++++++++++++++++++++++++-- lang/java/ipc/pom.xml | 8 ++++++++ lang/java/pom.xml | 1 - lang/ruby/interop/test_interop.rb | 10 +++++++++- 4 files changed, 47 insertions(+), 4 deletions(-) diff --git a/lang/java/avro/pom.xml b/lang/java/avro/pom.xml index 5d902b9..4953fce 100644 --- a/lang/java/avro/pom.xml +++ b/lang/java/avro/pom.xml @@ -133,6 +133,36 @@ </configuration> <goals><goal>java</goal></goals> </execution> + <!-- Generate random data for interop tests, using snappy codec --> + <execution> + <id>interop-generate-snappy-codec</id> + <phase>generate-resources</phase> + <configuration> + <mainClass>org.apache.avro.util.RandomData</mainClass> + <arguments> + <argument>../../../share/test/schemas/interop.avsc</argument> + <argument>../../../build/interop/data/java_snappy.avro</argument> + <argument>100</argument> + <argument>snappy</argument> + </arguments> + </configuration> + <goals><goal>java</goal></goals> + </execution> + <!-- Generate random data for interop tests, using zstandard codec --> + <execution> + <id>interop-generate-zstandard-codec</id> + <phase>generate-resources</phase> + <configuration> + <mainClass>org.apache.avro.util.RandomData</mainClass> + <arguments> + <argument>../../../share/test/schemas/interop.avsc</argument> + <argument>../../../build/interop/data/java_zstandard.avro</argument> + <argument>100</argument> + <argument>zstandard</argument> + </arguments> + </configuration> + <goals><goal>java</goal></goals> + </execution> </executions> </plugin> </plugins> @@ -156,7 +186,6 @@ <dependency> <groupId>org.xerial.snappy</groupId> <artifactId>snappy-java</artifactId> - <scope>provided</scope> <optional>true</optional> </dependency> <dependency> @@ -169,7 +198,6 @@ <dependency> <groupId>com.github.luben</groupId> <artifactId>zstd-jni</artifactId> - <scope>provided</scope> <optional>true</optional> </dependency> <dependency> diff --git a/lang/java/ipc/pom.xml b/lang/java/ipc/pom.xml index 9c68d8f..33fdebc 100644 --- a/lang/java/ipc/pom.xml +++ b/lang/java/ipc/pom.xml @@ -149,6 +149,14 @@ <artifactId>javax.annotation-api</artifactId> <version>1.3.2</version> </dependency> + <dependency> + <groupId>org.xerial.snappy</groupId> + <artifactId>snappy-java</artifactId> + </dependency> + <dependency> + <groupId>com.github.luben</groupId> + <artifactId>zstd-jni</artifactId> + </dependency> </dependencies> diff --git a/lang/java/pom.xml b/lang/java/pom.xml index 3bd4c20..3af1890 100644 --- a/lang/java/pom.xml +++ b/lang/java/pom.xml @@ -598,7 +598,6 @@ <groupId>com.github.luben</groupId> <artifactId>zstd-jni</artifactId> <version>${zstd-jni.version}</version> - <scope>test</scope> </dependency> </dependencies> </dependencyManagement> diff --git a/lang/ruby/interop/test_interop.rb b/lang/ruby/interop/test_interop.rb index 1a4aa74..a63c158 100644 --- a/lang/ruby/interop/test_interop.rb +++ b/lang/ruby/interop/test_interop.rb @@ -19,11 +19,19 @@ require 'rubygems' require 'test/unit' require 'avro' +CODECS_TO_VALIDATE = ['deflate'] # The 'null' codec is implicitly included + class TestInterop < Test::Unit::TestCase HERE = File.expand_path(File.dirname(__FILE__)) SHARE = HERE + '/../../../share' SCHEMAS = SHARE + '/test/schemas' - Dir[HERE + '/../../../build/interop/data/*'].each do |fn| + + files = Dir[HERE + '/../../../build/interop/data/*.avro'].select do |fn| + sep, codec = File.basename(fn, 'avro').rpartition('_')[1, 2] + sep.empty? || CODECS_TO_VALIDATE.include?(codec) + end + + files.each do |fn| define_method("test_read_#{File.basename(fn, 'avro')}") do projection = Avro::Schema.parse(File.read(SCHEMAS+'/interop.avsc'))
