summary refs log tree commit diff
path: root/gnu/packages/java.scm
diff options
context:
space:
mode:
authorJulien Lepiller <julien@lepiller.eu>2017-08-27 13:19:31 +0200
committerJulien Lepiller <julien@lepiller.eu>2017-09-01 14:17:24 +0200
commitdcf7a8a660554eb952e6412637e26bb523af03e8 (patch)
tree080739816314a2779b7ad20aaceed6d6e9ef88a4 /gnu/packages/java.scm
parent5fe2a139dfdef058f544fc4b83742628e1fa04bc (diff)
downloadguix-dcf7a8a660554eb952e6412637e26bb523af03e8.tar.gz
gnu: java-slf4j-api: Fix tests.
* gnu/packages/java.scm (java-slf4j-api)[arguments]: Enable tests
Adjust the jar content to prevent a test failure.
Diffstat (limited to 'gnu/packages/java.scm')
-rw-r--r--gnu/packages/java.scm24
1 files changed, 19 insertions, 5 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 947598c7b3..fe43d01332 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -4171,12 +4171,26 @@ more efficient storage-wise than an uncompressed bitmap (as implemented in the
                   #t))))
     (build-system ant-build-system)
     (arguments
-     ;; FIXME: org.slf4j.NoBindingTest fails with the ominous "This code
-     ;; should have never made it into slf4j-api.jar".
-     `(#:tests? #f
-       #:jar-name "slf4j-api.jar"
+     `(#:jar-name "slf4j-api.jar"
        #:source-dir "slf4j-api/src/main"
-       #:test-dir "slf4j-api/src/test"))
+       #:test-dir "slf4j-api/src/test"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'build 'regenerate-jar
+           (lambda _
+             ;; pom.xml ignores these files in the jar creation process. If we don't,
+             ;; we get the error "This code should have never made it into slf4j-api.jar"
+             (delete-file-recursively "build/classes/org/slf4j/impl")
+             (zero? (system* "jar" "-cf" "build/jar/slf4j-api.jar" "-C"
+                             "build/classes" "."))))
+         (add-before 'check 'dont-test-abstract-classes
+           (lambda _
+             ;; abstract classes are not meant to be run with junit
+             (substitute* "build.xml"
+               (("<include name=\"\\*\\*/\\*Test.java\" />")
+                (string-append "<include name=\"**/*Test.java\" />"
+                               "<exclude name=\"**/MultithreadedInitializationTest"
+                               ".java\" />"))))))))
     (inputs
      `(("java-junit" ,java-junit)
        ("java-hamcrest-core" ,java-hamcrest-core)))