* 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.