diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-14 13:42:30 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-14 13:42:30 +0000 |
commit | 75808db17caf8b960b351e3408e74142f4c85aac (patch) | |
tree | 7989e9c09a4240248bf4658a22208a0a52d991c4 /t/recipes/checks/languages/java | |
parent | Initial commit. (diff) | |
download | lintian-75808db17caf8b960b351e3408e74142f4c85aac.tar.xz lintian-75808db17caf8b960b351e3408e74142f4c85aac.zip |
Adding upstream version 2.117.0.upstream/2.117.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 't/recipes/checks/languages/java')
50 files changed, 349 insertions, 0 deletions
diff --git a/t/recipes/checks/languages/java/bytecode/files-java-classfiles/build-spec/debian/control.in b/t/recipes/checks/languages/java/bytecode/files-java-classfiles/build-spec/debian/control.in new file mode 100644 index 0000000..ba62050 --- /dev/null +++ b/t/recipes/checks/languages/java/bytecode/files-java-classfiles/build-spec/debian/control.in @@ -0,0 +1,16 @@ +Source: [% $source %] +Priority: optional +Section: java +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %] +Rules-Requires-Root: no + +Package: libfoo-java +Architecture: [% $package_architecture %] +Depends: ${misc:Depends} +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. diff --git a/t/recipes/checks/languages/java/bytecode/files-java-classfiles/build-spec/debian/libfoo-java.install b/t/recipes/checks/languages/java/bytecode/files-java-classfiles/build-spec/debian/libfoo-java.install new file mode 100644 index 0000000..c5226d3 --- /dev/null +++ b/t/recipes/checks/languages/java/bytecode/files-java-classfiles/build-spec/debian/libfoo-java.install @@ -0,0 +1,3 @@ +mini.class usr/share/java/foo/ +mini.class usr/share/java/WEB-INF +not-a-class-file.class usr/share/java/foo diff --git a/t/recipes/checks/languages/java/bytecode/files-java-classfiles/build-spec/fill-values b/t/recipes/checks/languages/java/bytecode/files-java-classfiles/build-spec/fill-values new file mode 100644 index 0000000..b9ec9d6 --- /dev/null +++ b/t/recipes/checks/languages/java/bytecode/files-java-classfiles/build-spec/fill-values @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: files-java-classfiles +Description: Test Java classfile related tags diff --git a/t/recipes/checks/languages/java/bytecode/files-java-classfiles/build-spec/orig/mini.class b/t/recipes/checks/languages/java/bytecode/files-java-classfiles/build-spec/orig/mini.class Binary files differnew file mode 100644 index 0000000..0206c61 --- /dev/null +++ b/t/recipes/checks/languages/java/bytecode/files-java-classfiles/build-spec/orig/mini.class diff --git a/t/recipes/checks/languages/java/bytecode/files-java-classfiles/build-spec/orig/not-a-class-file.class b/t/recipes/checks/languages/java/bytecode/files-java-classfiles/build-spec/orig/not-a-class-file.class new file mode 100644 index 0000000..cc63a04 --- /dev/null +++ b/t/recipes/checks/languages/java/bytecode/files-java-classfiles/build-spec/orig/not-a-class-file.class @@ -0,0 +1 @@ +This is not a Java .class file. diff --git a/t/recipes/checks/languages/java/bytecode/files-java-classfiles/eval/desc b/t/recipes/checks/languages/java/bytecode/files-java-classfiles/eval/desc new file mode 100644 index 0000000..6e101fa --- /dev/null +++ b/t/recipes/checks/languages/java/bytecode/files-java-classfiles/eval/desc @@ -0,0 +1,2 @@ +Testname: files-java-classfiles +Check: languages/java/bytecode diff --git a/t/recipes/checks/languages/java/bytecode/files-java-classfiles/eval/hints b/t/recipes/checks/languages/java/bytecode/files-java-classfiles/eval/hints new file mode 100644 index 0000000..7f3a686 --- /dev/null +++ b/t/recipes/checks/languages/java/bytecode/files-java-classfiles/eval/hints @@ -0,0 +1 @@ +libfoo-java (binary): package-installs-java-bytecode [usr/share/java/foo/mini.class] diff --git a/t/recipes/checks/languages/java/java-class-format/build-spec/debian/control.in b/t/recipes/checks/languages/java/java-class-format/build-spec/debian/control.in new file mode 100644 index 0000000..a3f96c7 --- /dev/null +++ b/t/recipes/checks/languages/java/java-class-format/build-spec/debian/control.in @@ -0,0 +1,16 @@ +Source: [% $source %] +Priority: optional +Section: [% $section %] +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %], javahelper, default-jdk-headless | default-jdk +Rules-Requires-Root: no + +Package: libtest-java +Architecture: [% $package_architecture %] +Depends: ${misc:Depends} +Description: [% $description %] + This is a test package designed to test various aspects of the + java-related QA code in lintian. First part. + . + This package should not be installed. diff --git a/t/recipes/checks/languages/java/java-class-format/build-spec/debian/javabuild b/t/recipes/checks/languages/java/java-class-format/build-spec/debian/javabuild new file mode 100644 index 0000000..f13db32 --- /dev/null +++ b/t/recipes/checks/languages/java/java-class-format/build-spec/debian/javabuild @@ -0,0 +1 @@ +test.jar src diff --git a/t/recipes/checks/languages/java/java-class-format/build-spec/debian/libtest-java.jlibs b/t/recipes/checks/languages/java/java-class-format/build-spec/debian/libtest-java.jlibs new file mode 100644 index 0000000..867ff3b --- /dev/null +++ b/t/recipes/checks/languages/java/java-class-format/build-spec/debian/libtest-java.jlibs @@ -0,0 +1,2 @@ +testa.jar +testb.jar diff --git a/t/recipes/checks/languages/java/java-class-format/build-spec/debian/rules b/t/recipes/checks/languages/java/java-class-format/build-spec/debian/rules new file mode 100755 index 0000000..7e46dd0 --- /dev/null +++ b/t/recipes/checks/languages/java/java-class-format/build-spec/debian/rules @@ -0,0 +1,19 @@ +#!/usr/bin/make -f +%: + dh $@ --with javahelper + +override_jh_build: + jh_build --javacopts='-target 1.7' --javacopts='-source 1.7' + unzip test.jar + # Unknown class version + perl -i -pe 's/^(\xCA\xFE\xBA\xBE...)./$$1\x2A/' org/debian/lintian/TestA.class + # Java19 (unsupported) + perl -i -pe 's/^(\xCA\xFE\xBA\xBE...)./$$1\x3F/' org/debian/lintian/TestB.class + # Put them in separate Jars because Lintian stops when the first + # "unknown class format" is seen + zip -r testa.jar META-INF/ org/debian/lintian/TestA.class + zip -r testb.jar META-INF/ org/debian/lintian/TestB.class + +override_dh_auto_clean: + rm -fr META-INF/ org/ + rm -f *.jar diff --git a/t/recipes/checks/languages/java/java-class-format/build-spec/fill-values b/t/recipes/checks/languages/java/java-class-format/build-spec/fill-values new file mode 100644 index 0000000..856dd16 --- /dev/null +++ b/t/recipes/checks/languages/java/java-class-format/build-spec/fill-values @@ -0,0 +1,6 @@ +Testname: java-class-format +Skeleton: upload-non-native +Package-Architecture: all +Description: Various checks for Java Class format +Section: java +Extra-Build-Depends: javahelper, default-jdk diff --git a/t/recipes/checks/languages/java/java-class-format/build-spec/orig/src/org/debian/lintian/TestA.java b/t/recipes/checks/languages/java/java-class-format/build-spec/orig/src/org/debian/lintian/TestA.java new file mode 100644 index 0000000..fa9bad9 --- /dev/null +++ b/t/recipes/checks/languages/java/java-class-format/build-spec/orig/src/org/debian/lintian/TestA.java @@ -0,0 +1,8 @@ +package org.debian.lintian; + +/** + A neat empty useless class. + */ +public class TestA { + // An empty class should do. +}; diff --git a/t/recipes/checks/languages/java/java-class-format/build-spec/orig/src/org/debian/lintian/TestB.java b/t/recipes/checks/languages/java/java-class-format/build-spec/orig/src/org/debian/lintian/TestB.java new file mode 100644 index 0000000..eca69aa --- /dev/null +++ b/t/recipes/checks/languages/java/java-class-format/build-spec/orig/src/org/debian/lintian/TestB.java @@ -0,0 +1,8 @@ +package org.debian.lintian; + +/** + A neat empty useless class. + */ +public class TestB { + // An empty class should do. +}; diff --git a/t/recipes/checks/languages/java/java-class-format/eval/desc b/t/recipes/checks/languages/java/java-class-format/eval/desc new file mode 100644 index 0000000..c69ca55 --- /dev/null +++ b/t/recipes/checks/languages/java/java-class-format/eval/desc @@ -0,0 +1,2 @@ +Testname: java-class-format +Check: languages/java diff --git a/t/recipes/checks/languages/java/java-class-format/eval/hints b/t/recipes/checks/languages/java/java-class-format/eval/hints new file mode 100644 index 0000000..5969a6b --- /dev/null +++ b/t/recipes/checks/languages/java/java-class-format/eval/hints @@ -0,0 +1,2 @@ +libtest-java (binary): unknown-java-class-version org/debian/lintian/TestA.class -> 42 [usr/share/java/testa-1.0.jar] +libtest-java (binary): incompatible-java-bytecode-format Java19 version (Class format: 63) diff --git a/t/recipes/checks/languages/java/java-classpath/build-spec/debian/binary-using-java.jlibs b/t/recipes/checks/languages/java/java-classpath/build-spec/debian/binary-using-java.jlibs new file mode 100644 index 0000000..5e5f31e --- /dev/null +++ b/t/recipes/checks/languages/java/java-classpath/build-spec/debian/binary-using-java.jlibs @@ -0,0 +1 @@ +cp-missing-2.jar diff --git a/t/recipes/checks/languages/java/java-classpath/build-spec/debian/control.in b/t/recipes/checks/languages/java/java-classpath/build-spec/debian/control.in new file mode 100644 index 0000000..cc8ad52 --- /dev/null +++ b/t/recipes/checks/languages/java/java-classpath/build-spec/debian/control.in @@ -0,0 +1,38 @@ +Source: [% $source %] +Priority: optional +Section: [% $section %] +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %], javahelper (>= 0.32~), default-jdk-headlesss | default-jdk +Rules-Requires-Root: no + +Package: libcp-missing-java +Architecture: all +Depends: ${misc:Depends}, libdepends-java +Description: [% $description %] - missing + This is a test package designed to test various aspects of the + java-related QA code in lintian. This package should not be + installed. + . + Test for missing classpaths. + +Package: libcp-relative-java +Architecture: all +Depends: ${misc:Depends}, libdepends-java +Description: [% $description %] - relative + This is a test package designed to test various aspects of the + java-related QA code in lintian. This package should not be + installed. + . + Test for relative classpaths. + + +Package: binary-using-java +Architecture: all +Depends: ${misc:Depends}, libdepends-java +Description: [% $description %] - binary + This is a test package designed to test various aspects of the + java-related QA code in lintian. This package should not be + installed. + . + Test for classpaths in binary. diff --git a/t/recipes/checks/languages/java/java-classpath/build-spec/debian/javabuild b/t/recipes/checks/languages/java/java-classpath/build-spec/debian/javabuild new file mode 100644 index 0000000..cdcc483 --- /dev/null +++ b/t/recipes/checks/languages/java/java-classpath/build-spec/debian/javabuild @@ -0,0 +1,2 @@ +cp-missing.jar src +cp-relative.jar src diff --git a/t/recipes/checks/languages/java/java-classpath/build-spec/debian/libcp-missing-java.jlibs b/t/recipes/checks/languages/java/java-classpath/build-spec/debian/libcp-missing-java.jlibs new file mode 100644 index 0000000..702a7ca --- /dev/null +++ b/t/recipes/checks/languages/java/java-classpath/build-spec/debian/libcp-missing-java.jlibs @@ -0,0 +1 @@ +cp-missing.jar diff --git a/t/recipes/checks/languages/java/java-classpath/build-spec/debian/libcp-relative-java.jlibs b/t/recipes/checks/languages/java/java-classpath/build-spec/debian/libcp-relative-java.jlibs new file mode 100644 index 0000000..4f2e007 --- /dev/null +++ b/t/recipes/checks/languages/java/java-classpath/build-spec/debian/libcp-relative-java.jlibs @@ -0,0 +1 @@ +cp-relative.jar diff --git a/t/recipes/checks/languages/java/java-classpath/build-spec/debian/libcp-relative-java.manifest b/t/recipes/checks/languages/java/java-classpath/build-spec/debian/libcp-relative-java.manifest new file mode 100644 index 0000000..c060eca --- /dev/null +++ b/t/recipes/checks/languages/java/java-classpath/build-spec/debian/libcp-relative-java.manifest @@ -0,0 +1,2 @@ +usr/share/java/cp-relative.jar: + Class-Path: obviously-relative/stuff.jar diff --git a/t/recipes/checks/languages/java/java-classpath/build-spec/debian/rules b/t/recipes/checks/languages/java/java-classpath/build-spec/debian/rules new file mode 100755 index 0000000..df7aa48 --- /dev/null +++ b/t/recipes/checks/languages/java/java-classpath/build-spec/debian/rules @@ -0,0 +1,8 @@ +#!/usr/bin/make -f + +%: + dh $@ --with javahelper + +override_jh_build: + jh_build --javacopts='-target 1.7' --javacopts='-source 1.7' + cp cp-missing.jar cp-missing-2.jar diff --git a/t/recipes/checks/languages/java/java-classpath/build-spec/fill-values b/t/recipes/checks/languages/java/java-classpath/build-spec/fill-values new file mode 100644 index 0000000..91c9f1c --- /dev/null +++ b/t/recipes/checks/languages/java/java-classpath/build-spec/fill-values @@ -0,0 +1,6 @@ +Testname: java-classpath +Skeleton: upload-non-native +Description: Various checks about JAR files +Author: Vincent Fourmond <fourmond@debian.org> +Section: java +Extra-Build-Depends: javahelper, default-jdk diff --git a/t/recipes/checks/languages/java/java-classpath/build-spec/orig/src/org/debian/lintian/TestA.java b/t/recipes/checks/languages/java/java-classpath/build-spec/orig/src/org/debian/lintian/TestA.java new file mode 100644 index 0000000..dacb2f2 --- /dev/null +++ b/t/recipes/checks/languages/java/java-classpath/build-spec/orig/src/org/debian/lintian/TestA.java @@ -0,0 +1,8 @@ +package org.debian.lintian; + +/** + A neat empty useless class. + */ +public class TestA { + // An empty class should do. +};
\ No newline at end of file diff --git a/t/recipes/checks/languages/java/java-classpath/eval/desc b/t/recipes/checks/languages/java/java-classpath/eval/desc new file mode 100644 index 0000000..7cb903d --- /dev/null +++ b/t/recipes/checks/languages/java/java-classpath/eval/desc @@ -0,0 +1,2 @@ +Testname: java-classpath +Check: languages/java diff --git a/t/recipes/checks/languages/java/java-classpath/eval/hints b/t/recipes/checks/languages/java/java-classpath/eval/hints new file mode 100644 index 0000000..6903914 --- /dev/null +++ b/t/recipes/checks/languages/java/java-classpath/eval/hints @@ -0,0 +1 @@ +libcp-relative-java (binary): classpath-contains-relative-path obviously-relative/stuff.jar [usr/share/java/cp-relative-1.0.jar] diff --git a/t/recipes/checks/languages/java/java-jars/build-spec/debian/clean b/t/recipes/checks/languages/java/java-jars/build-spec/debian/clean new file mode 100644 index 0000000..d392f0e --- /dev/null +++ b/t/recipes/checks/languages/java/java-jars/build-spec/debian/clean @@ -0,0 +1 @@ +*.jar diff --git a/t/recipes/checks/languages/java/java-jars/build-spec/debian/control.in b/t/recipes/checks/languages/java/java-jars/build-spec/debian/control.in new file mode 100644 index 0000000..a54ccaf --- /dev/null +++ b/t/recipes/checks/languages/java/java-jars/build-spec/debian/control.in @@ -0,0 +1,73 @@ +Source: [% $source %] +Priority: optional +Section: [% $section %] +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %], javahelper, default-jdk-headless | default-jdk +Rules-Requires-Root: no + +Package: libtesta-java +Architecture: all +Depends: ${misc:Depends} +Description: [% $description %] - part A + This is a test package designed to test various aspects of the + java-related QA code in lintian. First part. + . + This package should not be installed. + +Package: libcodeless-java +Architecture: all +Depends: ${misc:Depends} +Description: [% $description %] - codeless + This is a test package designed to test various aspects of the + java-related QA code in lintian. This package should not be + installed. + . + This package tests for codeless jars. + +Package: libmanifestless-java +Architecture: all +Depends: ${misc:Depends} +Description: [% $description %] - manifestless + This is a test package designed to test various aspects of the + java-related QA code in lintian. This package should not be + installed. + . + This package tests for mainifest-less code jars. + +Package: libtestc-java +Architecture: all +Depends: ${misc:Depends} +Description: [% $description %] - part C + This is a test package designed to test various aspects of the + java-related QA code in lintian. Third part. + . + This package should not be installed. + +Package: libtest-maven-plugin-java +Architecture: all +Depends: ${misc:Depends} +Description: [% $description %] - part D + This is a test package designed to test various aspects of the + java-related QA code in lintian. Fourth part. + . + This package should not be installed. + +Package: unparsable +Architecture: all +Depends: ${misc:Depends} +Description: [% $description %] - unparsable + This is a test package designed to test various aspects of the + java-related QA code in lintian. The unparsable part. + . + This package should not be installed. + +Package: libcontains-source-java +Architecture: all +Depends: ${misc:Depends} +Description: [% $description %] - contains .java source + This is a test package designed to test various aspects of the + java-related QA code in lintian. This package should not be + installed. + . + This package tests for .java files inside jars. diff --git a/t/recipes/checks/languages/java/java-jars/build-spec/debian/javabuild b/t/recipes/checks/languages/java/java-jars/build-spec/debian/javabuild new file mode 100644 index 0000000..323c1da --- /dev/null +++ b/t/recipes/checks/languages/java/java-jars/build-spec/debian/javabuild @@ -0,0 +1,4 @@ +testa.jar src +testb.jar src +testc.jar src +testd.jar src diff --git a/t/recipes/checks/languages/java/java-jars/build-spec/debian/libcodeless-java.jlibs b/t/recipes/checks/languages/java/java-jars/build-spec/debian/libcodeless-java.jlibs new file mode 100644 index 0000000..e31d0ab --- /dev/null +++ b/t/recipes/checks/languages/java/java-jars/build-spec/debian/libcodeless-java.jlibs @@ -0,0 +1 @@ +codeless.jar diff --git a/t/recipes/checks/languages/java/java-jars/build-spec/debian/libcontains-source-java.jlibs b/t/recipes/checks/languages/java/java-jars/build-spec/debian/libcontains-source-java.jlibs new file mode 100644 index 0000000..db68d0e --- /dev/null +++ b/t/recipes/checks/languages/java/java-jars/build-spec/debian/libcontains-source-java.jlibs @@ -0,0 +1 @@ +contains-source.jar diff --git a/t/recipes/checks/languages/java/java-jars/build-spec/debian/libmanifestless-java.jlibs b/t/recipes/checks/languages/java/java-jars/build-spec/debian/libmanifestless-java.jlibs new file mode 100644 index 0000000..7ae2544 --- /dev/null +++ b/t/recipes/checks/languages/java/java-jars/build-spec/debian/libmanifestless-java.jlibs @@ -0,0 +1 @@ +manifestless.jar diff --git a/t/recipes/checks/languages/java/java-jars/build-spec/debian/libtest-maven-plugin-java.install b/t/recipes/checks/languages/java/java-jars/build-spec/debian/libtest-maven-plugin-java.install new file mode 100644 index 0000000..b4f610f --- /dev/null +++ b/t/recipes/checks/languages/java/java-jars/build-spec/debian/libtest-maven-plugin-java.install @@ -0,0 +1,2 @@ +testa.jar /usr/share/maven-repo/org/apache/maven/plugins/maven-site-plugin/2.1/ +testb.jar /usr/share/java/ diff --git a/t/recipes/checks/languages/java/java-jars/build-spec/debian/libtesta-java.install b/t/recipes/checks/languages/java/java-jars/build-spec/debian/libtesta-java.install new file mode 100644 index 0000000..cf31c45 --- /dev/null +++ b/t/recipes/checks/languages/java/java-jars/build-spec/debian/libtesta-java.install @@ -0,0 +1,4 @@ +0.jar usr/share/java/ +0.jar usr/share/private-jars/ +testb.jar usr/lib/ +testc.jar usr/bin diff --git a/t/recipes/checks/languages/java/java-jars/build-spec/debian/libtesta-java.jlibs b/t/recipes/checks/languages/java/java-jars/build-spec/debian/libtesta-java.jlibs new file mode 100644 index 0000000..b1017a7 --- /dev/null +++ b/t/recipes/checks/languages/java/java-jars/build-spec/debian/libtesta-java.jlibs @@ -0,0 +1 @@ +testa.jar diff --git a/t/recipes/checks/languages/java/java-jars/build-spec/debian/libtestc-java.install b/t/recipes/checks/languages/java/java-jars/build-spec/debian/libtestc-java.install new file mode 100644 index 0000000..32c2610 --- /dev/null +++ b/t/recipes/checks/languages/java/java-jars/build-spec/debian/libtestc-java.install @@ -0,0 +1 @@ +testa.jar usr/share/private-jars diff --git a/t/recipes/checks/languages/java/java-jars/build-spec/debian/rules b/t/recipes/checks/languages/java/java-jars/build-spec/debian/rules new file mode 100755 index 0000000..8ca4444 --- /dev/null +++ b/t/recipes/checks/languages/java/java-jars/build-spec/debian/rules @@ -0,0 +1,20 @@ +#!/usr/bin/make -f +%: + dh $@ --with javahelper + +override_jh_build: + jh_build --javacopts='-target 1.7' --javacopts='-source 1.7' + cp testa.jar testb.jar + cp testa.jar 0.jar + unzip testa.jar + zip -r codeless.jar META-INF/ + zip -r manifestless.jar org/ + touch org/debian/lintian/TestA.java + zip -r contains-source.jar META-INF/ org/ + perl generate-unparsable.pl + +# Skip - it chokes on "unparsable.jar" and we don't need it +override_jh_manifest override_jh_depends override_dh_strip_nondeterminism: + +override_dh_auto_clean: + rm -fr META-INF/ org/ diff --git a/t/recipes/checks/languages/java/java-jars/build-spec/debian/unparsable.install b/t/recipes/checks/languages/java/java-jars/build-spec/debian/unparsable.install new file mode 100644 index 0000000..a734cf7 --- /dev/null +++ b/t/recipes/checks/languages/java/java-jars/build-spec/debian/unparsable.install @@ -0,0 +1 @@ +unparsable.jar usr/share/unparsable diff --git a/t/recipes/checks/languages/java/java-jars/build-spec/fill-values b/t/recipes/checks/languages/java/java-jars/build-spec/fill-values new file mode 100644 index 0000000..320d891 --- /dev/null +++ b/t/recipes/checks/languages/java/java-jars/build-spec/fill-values @@ -0,0 +1,6 @@ +Testname: java-jars +Skeleton: upload-non-native +Description: Various checks about JAR files +Author: Vincent Fourmond <fourmond@debian.org> +Section: java +Extra-Build-Depends: javahelper, default-jdk diff --git a/t/recipes/checks/languages/java/java-jars/build-spec/orig/generate-unparsable.pl b/t/recipes/checks/languages/java/java-jars/build-spec/orig/generate-unparsable.pl new file mode 100644 index 0000000..eaed15b --- /dev/null +++ b/t/recipes/checks/languages/java/java-jars/build-spec/orig/generate-unparsable.pl @@ -0,0 +1,36 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +# Generated with "hexdump -C <valid-file.zip> | head -n 10". Should +# be a valid header of a truncated zip file. This is enough to fool +# file 5.30 and earlier, but will obviously break if you try to parse +# it in full. +my $valid_header = <<'EOF'; +00000000 50 4b 03 04 0a 00 00 00 00 00 4c 59 9e 4a 00 00 |PK........LY.J..| +00000010 00 00 00 00 00 00 00 00 00 00 04 00 1c 00 6f 72 |..............or| +00000020 67 2f 55 54 09 00 03 20 c6 05 59 20 c6 05 59 75 |g/UT... ..Y ..Yu| +00000030 78 0b 00 01 04 e8 03 00 00 04 e8 03 00 00 50 4b |x.............PK| +00000040 03 04 0a 00 00 00 00 00 4c 59 9e 4a 00 00 00 00 |........LY.J....| +00000050 00 00 00 00 00 00 00 00 0b 00 1c 00 6f 72 67 2f |............org/| +00000060 64 65 62 69 61 6e 2f 55 54 09 00 03 20 c6 05 59 |debian/UT... ..Y| +00000070 20 c6 05 59 75 78 0b 00 01 04 e8 03 00 00 04 e8 | ..Yux..........| +00000080 03 00 00 50 4b 03 04 0a 00 00 00 00 00 4c 59 9e |...PK........LY.| +00000090 4a 00 00 00 00 00 00 00 00 00 00 00 00 13 00 1c |J...............| +EOF + +open(my $fd, '>', 'unparsable.jar'); + +for my $line (split(m/\n/, $valid_header)) { + chomp($line); + next if $line =~ s/^\s*+(?:\#.*)?$//; + next if $line !~ s/^[0-9a-fA-F]+\s+//; # Remove leading "offset" + $line =~ s/\s*(?:\|.+\|\s*)?$//; # Remove trailing "display" part (if present) + for my $byte (split(m/\s++/, $line)) { + printf {$fd} '%c', hex($byte); + } +} + +close($fd); + diff --git a/t/recipes/checks/languages/java/java-jars/build-spec/orig/src/org/debian/lintian/TestA.java b/t/recipes/checks/languages/java/java-jars/build-spec/orig/src/org/debian/lintian/TestA.java new file mode 100644 index 0000000..dacb2f2 --- /dev/null +++ b/t/recipes/checks/languages/java/java-jars/build-spec/orig/src/org/debian/lintian/TestA.java @@ -0,0 +1,8 @@ +package org.debian.lintian; + +/** + A neat empty useless class. + */ +public class TestA { + // An empty class should do. +};
\ No newline at end of file diff --git a/t/recipes/checks/languages/java/java-jars/eval/desc b/t/recipes/checks/languages/java/java-jars/eval/desc new file mode 100644 index 0000000..3cff6bb --- /dev/null +++ b/t/recipes/checks/languages/java/java-jars/eval/desc @@ -0,0 +1,4 @@ +Testname: java-jars +Test-Against: + source-contains-prebuilt-java-object +Check: languages/java diff --git a/t/recipes/checks/languages/java/java-jars/eval/hints b/t/recipes/checks/languages/java/java-jars/eval/hints new file mode 100644 index 0000000..cd4bd34 --- /dev/null +++ b/t/recipes/checks/languages/java/java-jars/eval/hints @@ -0,0 +1,11 @@ +unparsable (binary): zip-parse-error format error: can't find EOCD signature [usr/share/unparsable/unparsable.jar] +libtestc-java (binary): javalib-but-no-public-jars +libtesta-java (binary): missing-dep-on-jarwrapper +libtesta-java (binary): jar-not-in-usr-share [usr/lib/testb.jar] +libtesta-java (binary): executable-jar-without-main-class [usr/bin/testc.jar] +libtesta-java (binary): bad-jar-name [usr/share/java/0.jar] +libtest-maven-plugin-java (binary): maven-plugin-in-usr-share-java [usr/share/java/testb.jar] +libtest-maven-plugin-java (binary): bad-jar-name [usr/share/java/testb.jar] +libmanifestless-java (binary): missing-manifest [usr/share/java/manifestless-1.0.jar] +libcontains-source-java (binary): jar-contains-source org/debian/lintian/TestA.java [usr/share/java/contains-source-1.0.jar] +libcodeless-java (binary): codeless-jar [usr/share/java/codeless-1.0.jar] diff --git a/t/recipes/checks/languages/java/prebuilt-java-object/build-spec/fill-values b/t/recipes/checks/languages/java/prebuilt-java-object/build-spec/fill-values new file mode 100644 index 0000000..01a1fce --- /dev/null +++ b/t/recipes/checks/languages/java/prebuilt-java-object/build-spec/fill-values @@ -0,0 +1,4 @@ +Testname: prebuilt-java-object +Skeleton: upload-native +Description: Source package with a prebuilt java object +Section: java diff --git a/t/recipes/checks/languages/java/prebuilt-java-object/build-spec/orig/HelloWorld.class b/t/recipes/checks/languages/java/prebuilt-java-object/build-spec/orig/HelloWorld.class Binary files differnew file mode 100644 index 0000000..b7edf6d --- /dev/null +++ b/t/recipes/checks/languages/java/prebuilt-java-object/build-spec/orig/HelloWorld.class diff --git a/t/recipes/checks/languages/java/prebuilt-java-object/build-spec/orig/HelloWorld.jar b/t/recipes/checks/languages/java/prebuilt-java-object/build-spec/orig/HelloWorld.jar Binary files differnew file mode 100644 index 0000000..fa91875 --- /dev/null +++ b/t/recipes/checks/languages/java/prebuilt-java-object/build-spec/orig/HelloWorld.jar diff --git a/t/recipes/checks/languages/java/prebuilt-java-object/build-spec/orig/HelloWorld.java b/t/recipes/checks/languages/java/prebuilt-java-object/build-spec/orig/HelloWorld.java new file mode 100644 index 0000000..8a6cd64 --- /dev/null +++ b/t/recipes/checks/languages/java/prebuilt-java-object/build-spec/orig/HelloWorld.java @@ -0,0 +1,7 @@ +package HelloWorld; + +class HelloWorld { + public void hello() { + System.out.println("Hello World!"); + } +} diff --git a/t/recipes/checks/languages/java/prebuilt-java-object/eval/desc b/t/recipes/checks/languages/java/prebuilt-java-object/eval/desc new file mode 100644 index 0000000..e294bed --- /dev/null +++ b/t/recipes/checks/languages/java/prebuilt-java-object/eval/desc @@ -0,0 +1,2 @@ +Testname: prebuilt-java-object +Check: languages/java diff --git a/t/recipes/checks/languages/java/prebuilt-java-object/eval/hints b/t/recipes/checks/languages/java/prebuilt-java-object/eval/hints new file mode 100644 index 0000000..9522af5 --- /dev/null +++ b/t/recipes/checks/languages/java/prebuilt-java-object/eval/hints @@ -0,0 +1 @@ +prebuilt-java-object (source): source-contains-prebuilt-java-object [HelloWorld.jar] |