All of lore.kernel.org
 help / color / mirror / Atom feed
* Setup for building Java unit tests
@ 2012-10-30  0:22 Noah Watkins
  2012-10-30  6:29 ` Joe Buck
  0 siblings, 1 reply; 2+ messages in thread
From: Noah Watkins @ 2012-10-30  0:22 UTC (permalink / raw)
  To: Joe Buck; +Cc: ceph-devel

This is my proposal for handling Java unit test compilation:

1. Go with Joe's suggestion to backport the unit tests to the oldest
version of JUnit shipping with the latest Ubuntu and Fedora.

2. Use --with-debug to enable unit test building:

 --enable-cephfs-java: no change
 --with-debug --enable-cephfs-java: builds Java tests

3. configure.ac tests for JUnit dependency in the --with-debug case
using (a) the common distribution paths (b) the CLASSPATH environment
variable. Stash location in an autoconf variable for Makefile.am to
use.

Running the tests from teuthology:

The two dependencies are JUnit (above approach) and a test runner.
Currently that runner is an Ant build script. Installing that script
for a --with-debug build in a place like /usr/share/.. is an option,
but seems like overkill just to get the teuthology tests going.

How about instead we either 1) write a simple runner (few lines of
java code) and include it in the test jar, or 2) stash a minimal
Ant-based runner in the teuthology setup script that creates the Ant
script at run time. Something like:

cat << EOF > build.xml
<target name="test>
   blah blah
</target>
EOF

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Setup for building Java unit tests
  2012-10-30  0:22 Setup for building Java unit tests Noah Watkins
@ 2012-10-30  6:29 ` Joe Buck
  0 siblings, 0 replies; 2+ messages in thread
From: Joe Buck @ 2012-10-30  6:29 UTC (permalink / raw)
  To: Noah Watkins; +Cc: Joe Buck, ceph-devel

On 10/29/2012 05:22 PM, Noah Watkins wrote:
> This is my proposal for handling Java unit test compilation:
>
> 1. Go with Joe's suggestion to backport the unit tests to the oldest
> version of JUnit shipping with the latest Ubuntu and Fedora.
>
> 2. Use --with-debug to enable unit test building:
>
>   --enable-cephfs-java: no change
>   --with-debug --enable-cephfs-java: builds Java tests
>
> 3. configure.ac tests for JUnit dependency in the --with-debug case
> using (a) the common distribution paths (b) the CLASSPATH environment
> variable. Stash location in an autoconf variable for Makefile.am to
> use.
>
> Running the tests from teuthology:
>
> The two dependencies are JUnit (above approach) and a test runner.
> Currently that runner is an Ant build script. Installing that script
> for a --with-debug build in a place like /usr/share/.. is an option,
> but seems like overkill just to get the teuthology tests going.
>
> How about instead we either 1) write a simple runner (few lines of
> java code) and include it in the test jar, or 2) stash a minimal
> Ant-based runner in the teuthology setup script that creates the Ant
> script at run time. Something like:
>
> cat << EOF > build.xml
> <target name="test>
>     blah blah
> </target>
> EOF
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
To backfill a conversation Noah and I had offline: it turns out that 
JUnit has a command line taskrunner, so we do not need to ship the 
build.xml around nor worry about rolling our own.
If we follow the steps Noah laid out (he's going to help me modify 
configure to find the JUnit jar) then a workunit can execute the tests 
in teuthology via command line invocations (I have this working in my 
branch now, save the smarter configuration/build (item #2 above)).
We still need to backport the test code to use the older library but 
that's just a bit of time.

-Joe Buck

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-10-30  6:29 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-30  0:22 Setup for building Java unit tests Noah Watkins
2012-10-30  6:29 ` Joe Buck

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.