Subject: [bug#28663] [PATCH 02/22] guix: ant-build-system: Add #:test-include and #:test-exclude arguments.

From: Ricardo Wurmus <[email-masked]>
Date: Tue, 03 Oct 2017 11:14:34 +0200

[email-masked] writes:

> From: Julien Lepiller <[email-masked]>
>
> * guix/build-system/ant.scm: Add #:test-include and #:test-exclude
> arguments.
> * guix/build/ant-build-system.scm: Generate test list from arguments.
> ---
>  guix/build-system/ant.scm       |  4 ++++
>  guix/build/ant-build-system.scm | 17 +++++++++++++----
>  2 files changed, 17 insertions(+), 4 deletions(-)
>
> diff --git a/guix/build-system/ant.scm b/guix/build-system/ant.scm
> index a700230ec..b5626bd42 100644
> --- a/guix/build-system/ant.scm
> +++ b/guix/build-system/ant.scm
> @@ -100,6 +100,8 @@
>                      (build-target "jar")
>                      (jar-name #f)
>                      (main-class #f)
> +                    (test-include (list "**/*Test.java"))
> +                    (test-exclude (list "**/Abstract*.java"))
>                      (source-dir "src")
>                      (test-dir "src/test")
>                      (phases '(@ (guix build ant-build-system)
> @@ -132,6 +134,8 @@
>                    #:build-target ,build-target
>                    #:jar-name ,jar-name
>                    #:main-class ,main-class
> +                  #:test-include (list ,@test-include)
> +                  #:test-exclude (list ,@test-exclude)
>                    #:source-dir ,source-dir
>                    #:test-dir ,test-dir
>                    #:phases ,phases
> diff --git a/guix/build/ant-build-system.scm b/guix/build/ant-build-system.scm
> index 727d3a3b2..a440daf05 100644
> --- a/guix/build/ant-build-system.scm
> +++ b/guix/build/ant-build-system.scm
> @@ -36,7 +36,9 @@
>  ;; Code:
>
>  (define* (default-build.xml jar-name prefix #:optional
> -                            (source-dir ".") (test-dir "./test") (main-class #f))
> +                            (source-dir ".") (test-dir "./test") (main-class #f)
> +                            (test-include '("**/*Test.java"))
> +                            (test-exclude '("**/Abstract*Test.java")))
>    "Create a simple build.xml with standard targets for Ant."
>    (call-with-output-file "build.xml"
>      (lambda (port)
> @@ -109,7 +111,12 @@
>                                  (batchtest (@ (fork "yes")
>                                                (todir "${test.home}/test-reports"))
>                                             (fileset (@ (dir "${test.home}/java"))
> -                                                    (include (@ (name "**/*Test.java" )))))))
> +                                                    ,@(map (lambda (file)
> +                                                            `(include (@ (name ,file))))
> +                                                       test-include)
> +                                                    ,@(map (lambda (file)
> +                                                            `(exclude (@ (name ,file))))
> +                                                       test-exclude)))))
>
>                   (target (@ (name "jar")
>                              (depends "compile, manifest"))
> @@ -150,12 +157,14 @@ to the default GNU unpack strategy."
>  (define* (configure #:key inputs outputs (jar-name #f)
>                      (source-dir "src")
>                      (test-dir "src/test")
> -                    (main-class #f) #:allow-other-keys)
> +                    (main-class #f)
> +                    (test-include '("**/*Test.java"))
> +                    (test-exclude '("**/Abstract*.java")) #:allow-other-keys)
>    (when jar-name
>      (default-build.xml jar-name
>                         (string-append (assoc-ref outputs "out")
>                                        "/share/java")
> -                       source-dir test-dir main-class))
> +                       source-dir test-dir main-class test-include test-exclude))
>    (setenv "JAVA_HOME" (assoc-ref inputs "jdk"))
>    (setenv "CLASSPATH" (generate-classpath inputs)))

Excellent!  This probably is enough to fix the tests of java-cglib.
Please also quickly mention it in the documentation of the
ant-build-system.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net