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]
