Hi all,

and sorry for the long post; what I want to acieve is a bit complex:

I am currently integration-testing a tool that allows one to perform a
variety of bytecode instrumentation tasks (for profiling/JVM research).
Said tool consists of two components: a server running in a separate JVM
instance that does the actual instrumentation and a client that
intercepts classloading on the target JVM, sends the classes to the
server to be instrumented, and then inserts the instrumented classes
into the target JVMs class-loading process again.

Currently, I envision testing a particular instrumentation like this:

 pre-integration-test:
   Use a Maven goal similar to jetty:start to start the server process.
   (Writing such a plugin is relatively straight-forward :-)

 integration-test:
   Use the maven-failsafe-plugin to execute the integration test under
   the client's regime, i.e., with instrumentation being build
   activated.

 post-integration-test:
   Use a Maven goal similar to jetty:stop to stop the server process.
   (Again, this is straight-forward.)

The tricky part is the integration-test phase. Ideally, I would like to
re-use the maven-failsafe-plugin here, but in order to make the target
JVM communicate with the instrumentation server I need to pass a whole
bunch of arcane options to the (forked) JVM (-javaagent, -agentpath,
-Xbootclasspath/p, not to mention the paths to the various JARs). What I
would thus like to do is hide these details the the user. (Just like
start/stop goals hide the details of starting/stopping the server.)

Can the Surefire Provider API be used for something like this, e.g., by
extending the existing JUnit-Provider and modifying the ForkConfiguration?

Any pointers are greatly appreciated. The documentation at
<http://maven.apache.org/plugins/maven-failsafe-plugin/api.html> is
sadly rather brief.

Best wishes,

Andreas

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to