Hello Toni and Andreas,
I have changed (Split) my vm options as follows:
@org.ops4j.pax.exam.junit.Configuration
public static Option[] configuration() {
Option[] options = options(
bootDelegationPackages("javax.transaction",
"javax.transaction.*"),
vmOption("-Xdebug
-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"),
vmOption("-Dorg.osgi.framework.system.packages=javax.accessibility,javax.activation,javax.activity,javax.annotation,javax.annotation.processing,javax.crypto,javax.crypto.interfaces,javax.crypto.spec,javax.imageio,javax.imageio.event,javax.imageio.metadata,javax.imageio.plugins.bmp,javax.imageio.plugins.jpeg,javax.imageio.spi,javax.imageio.stream,javax.jws,javax.jws.soap,javax.lang.model,javax.lang.model.element,javax.lang.model.type,javax.lang.model.util,javax.management,javax.management.loading,javax.management.modelmbean,javax.management.monitor,javax.management.openmbean,javax.management.relation,javax.management.remote,javax.management.remote.rmi,javax.management.timer,javax.naming,javax.naming.directory,javax.naming.event,javax.naming.ldap,javax.naming.spi,
javax.net
,javax.net.ssl,javax.print,javax.print.attribute,javax.print.attribute.standard,javax.print.event,javax.rmi,javax.rmi.CORBA,javax.rmi.ssl,javax.script,javax.security.auth,javax.security.auth.callback,javax.security.auth.kerberos,javax.security.auth.login,javax.security.auth.spi,javax.security.auth.x500,javax.security.cert,javax.security.sasl,javax.sound.midi,javax.sound.midi.spi,javax.sound.sampled,javax.sound.sampled.spi,javax.sql,javax.sql.rowset,javax.sql.rowset.serial,javax.sql.rowset.spi,javax.swing,javax.swing.border,javax.swing.colorchooser,javax.swing.event,javax.swing.filechooser,javax.swing.plaf,javax.swing.plaf.basic,javax.swing.plaf.metal,javax.swing.plaf.multi,javax.swing.plaf.synth,javax.swing.table,javax.swing.text,javax.swing.text.html,javax.swing.text.html.parser,javax.swing.text.rtf,javax.swing.tree,javax.swing.undo,javax.tools,javax.xml,javax.xml.bind,javax.xml.bind.annotation,javax.xml.bind.annotation.adapters,javax.xml.bind.attachment,javax.xml.bind.helpers,javax.xml.bind.util,javax.xml.crypto,javax.xml.crypto.dom,javax.xml.crypto.dsig,javax.xml.crypto.dsig.dom,javax.xml.crypto.dsig.keyinfo,javax.xml.crypto.dsig.spec,javax.xml.datatype,javax.xml.namespace,javax.xml.parsers,javax.xml.soap,javax.xml.stream,javax.xml.stream.events,javax.xml.stream.util,javax.xml.transform,javax.xml.transform.dom,javax.xml.transform.sax,javax.xml.transform.stax,javax.xml.transform.stream,javax.xml.validation,
javax.xml.ws
,javax.xml.ws.handler,javax.xml.ws.handler.soap,javax.xml.ws.http,javax.xml.ws.soap,javax.xml.ws.spi,javax.xml.xpath,org.ietf.jgss,org.omg.CORBA,org.omg.CORBA.DynAnyPackage,org.omg.CORBA.ORBPackage,org.omg.CORBA.TypeCodePackage,org.omg.CORBA.portable,org.omg.CORBA_2_3,org.omg.CORBA_2_3.portable,org.omg.CosNaming,org.omg.CosNaming.NamingContextExtPackage,org.omg.CosNaming.NamingContextPackage,org.omg.Dynamic,org.omg.DynamicAny,org.omg.DynamicAny.DynAnyFactoryPackage,org.omg.DynamicAny.DynAnyPackage,org.omg.IOP,org.omg.IOP.CodecFactoryPackage,org.omg.IOP.CodecPackage,org.omg.Messaging,org.omg.PortableInterceptor,org.omg.PortableInterceptor.ORBInitInfoPackage,org.omg.PortableServer,org.omg.PortableServer.CurrentPackage,org.omg.PortableServer.POAManagerPackage,org.omg.PortableServer.POAPackage,org.omg.PortableServer.ServantLocatorPackage,org.omg.PortableServer.portable,org.omg.SendingContext,org.omg.stub.java.rmi,org.w3c.dom,org.w3c.dom.bootstrap,org.w3c.dom.css,org.w3c.dom.events,org.w3c.dom.html,
org.w3c.dom.ls
,org.w3c.dom.ranges,org.w3c.dom.stylesheets,org.w3c.dom.traversal,org.w3c.dom.views,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers,javax.transaction;partial=true;mandatory:=partial,javax.transaction.xa;partial=true;mandatory:=partial"),
And I have one test method as follows:
@Test
public void testEligibilityRuleExecution() throws Exception {
When I chose the debug, debug as JUnit the application still runs to its
entirity. It does not suspend at all. Do you guys have any ideas at all. I
have to move forward on this one.
Can you guys send me a copy of a JUnit test case which you have successfully
debugged and clear instructions on how you started the test case.
Any help will be appreciated.
Thanks in advance1
Matt G. Madhavan
On Wed, Feb 16, 2011 at 1:13 AM, Toni Menzel <[email protected]> wrote:
> Matt, to make the last assumption you had clear: Yes, in Exam 1.x each
> @Test invokes a fresh new jvm with the parameters you supply.
> You can also give each Test different @Configurations but that usually not
> needed.
>
> For your debugging issue: You need remote debugging (new jvm).
> As Andreas pointed out, the start if the vmOption (which will be added to a
> "java -cp my.jar cheese.Main.." call) does not look right:
>
> vmOption("-Xdebug
> -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005,-D ..
>
> you would need to replace the last comma by a space because its a new jvm
> argument. But splitting the Options up makes it much more mantainable i
> guess.
> It also prevents you from making the mistake pointed out above.
>
> HTH,
> Toni
>
>
> On Wed, Feb 16, 2011 at 4:46 AM, Matt Madhavan <[email protected]>wrote:
>
>> Andreas,
>> Thanks for the reply. Let me try again tomorrow and email u back. I really
>> have to get this stuff working. Any help will be appriciated.
>>
>> Thanks again
>> Matt
>> On Feb 15, 2011 9:28 PM, "Andreas Pieber" <[email protected]> wrote:
>> > Mhm, basically I do the same and it always works for me with the
>> difference that
>> > I always have the debug-part as an own vmOption; can you try providing
>> two
>> > different vmOption elements:
>> >
>> > vmOption(
>> "-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005" ),
>> > vmOption(rest)...
>> >
>> > kind regards,
>> > andreas
>> >
>> > On Tue, Feb 15, 2011 at 02:01:58PM -0600, Matt Madhavan wrote:
>> >> Hello,
>> >> I'm facing some issues with integerating a 3rd party lib as a bundle in
>> >> my osgi app. I need to debug and see where exactly the issue occurs.
>> >> This issue occurs only when the third party jar is a stand alone OSGi
>> >> bundle. It works fine if I 'embed' the third party jar within the
>> >> calling bundle.
>> >> I'm able to set a break point in the
>> >> @org.ops4j.pax.exam.junit.Configuration
>> >> public static Option[] configuration() {
>> >> Method and the process suspends at the break point.
>> >> But when I set a break point in one of the following method:
>> >> @Test
>> >> public void testEligibilityRuleExecution() throws Exception {
>> >> the break point does not suspend.
>> >> So I suspected may be the PaxRunner starts a new process for each test
>> >> method. So I tried eclipse remote debugging. I added the following VM
>> >> options:
>> >> -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005,
>> >> in both the eclipse run configurations and also inside the :
>> >> @org.ops4j.pax.exam.junit.Configuration
>> >> public static Option[] configuration() {
>> >> method as follows:
>> >> Option[] options = options(
>> >> bootDelegationPackages("javax.transaction",
>> >> "javax.transaction.*"),
>> >> vmOption("-Xdebug
>> >> -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005,-Dorg.osg
>> >> i.framework.system.packages=javax.accessibility,javax.activation,javax.
>> >> activity,javax.annotation,javax.annotation.processing,javax.crypto,java
>> >> x.crypto.interfaces,javax.crypto.spec,javax.imageio,javax.imageio.event
>> >> ,javax.imageio.metadata,javax.imageio.plugins.bmp,javax.imageio.plugins
>> >> .jpeg,javax.imageio.spi,javax.imageio.stream,javax.jws,javax.jws.soap,j
>> >> avax.lang.model,javax.lang.model.element,javax.lang.model.type,
>> javax.la
>> >> ng.model.util,javax.management,javax.management.loading,javax.managemen
>> >> t.modelmbean,javax.management.monitor,javax.management.openmbean,javax.
>> >> management.relation,javax.management.remote,javax.management.remote.rmi
>> >> ,javax.management.timer,javax.naming,javax.naming.directory,javax.namin
>> >> g.event,javax.naming.ldap,javax.naming.spi,[1]javax.net
>> ,javax.net.ssl,j
>> >> avax.print,javax.print.attribute,javax.print.attribute.standard,javax.p
>> >> rint.event,javax.rmi,javax.rmi.CORBA,javax.rmi.ssl,javax.script,javax.s
>> >> ecurity.auth,javax.security.auth.callback,javax.security.auth.kerberos,
>> >> javax.security.auth.login,javax.security.auth.spi,javax.security.auth.x
>> >> 500,javax.security.cert,javax.security.sasl,javax.sound.midi,javax.soun
>> >> d.midi.spi,javax.sound.sampled,javax.sound.sampled.spi,javax.sql,javax.
>> >> sql.rowset,javax.sql.rowset.serial,javax.sql.rowset.spi,javax.swing,jav
>> >> ax.swing.border,javax.swing.colorchooser,javax.swing.event,javax.swing.
>> >> filechooser,javax.swing.plaf,javax.swing.plaf.basic,
>> javax.swing.plaf.me
>> >> tal,javax.swing.plaf.multi,javax.swing.plaf.synth,javax.swing.table,jav
>> >> ax.swing.text,javax.swing.text.html,javax.swing.text.html.parser,javax.
>> >> swing.text.rtf,javax.swing.tree,javax.swing.undo,javax.tools,javax.xml,
>> >> javax.xml.bind,javax.xml.bind.annotation,javax.xml.bind.annotation.adap
>> >> ters,javax.xml.bind.attachment,javax.xml.bind.helpers,javax.xml.bind.ut
>> >> il,javax.xml.crypto,javax.xml.crypto.dom,javax.xml.crypto.dsig,javax.xm
>> >> l.crypto.dsig.dom,javax.xml.crypto.dsig.keyinfo,javax.xml.crypto.dsig.s
>> >> pec,javax.xml.datatype,javax.xml.namespace,javax.xml.parsers,javax.xml.
>> >> soap,javax.xml.stream,javax.xml.stream.events,javax.xml.stream.util,jav
>> >> ax.xml.transform,javax.xml.transform.dom,javax.xml.transform.sax,javax.
>> >> xml.transform.stax,javax.xml.transform.stream,javax.xml.validation,[2]j
>> >> avax.xml.ws,javax.xml.ws.handler,javax.xml.ws.handler.soap,
>> javax.xml.ws
>> >> .http,javax.xml.ws.soap,javax.xml.ws.spi,javax.xml.xpath,org.ietf.jgss,
>> >> org.omg.CORBA,org.omg.CORBA.DynAnyPackage,org.omg.CORBA.ORBPackage,org.
>> >> omg.CORBA.TypeCodePackage,org.omg.CORBA.portable,org.omg.CORBA_2_3,org.
>> >> omg.CORBA_2_3.portable,org.omg.CosNaming,org.omg.CosNaming.NamingContex
>> >> tExtPackage,org.omg.CosNaming.NamingContextPackage,org.omg.Dynamic,org.
>> >> omg.DynamicAny,org.omg.DynamicAny.DynAnyFactoryPackage,org.omg.DynamicA
>> >> ny.DynAnyPackage,org.omg.IOP,org.omg.IOP.CodecFactoryPackage,
>> org.omg.IO
>> >> P.CodecPackage,org.omg.Messaging,org.omg.PortableInterceptor,org.omg.Po
>> >> rtableInterceptor.ORBInitInfoPackage,org.omg.PortableServer,org.omg.Por
>> >> tableServer.CurrentPackage,org.omg.PortableServer.POAManagerPackage,org
>> >> .omg.PortableServer.POAPackage,org.omg.PortableServer.ServantLocatorPac
>> >> kage,org.omg.PortableServer.portable,org.omg.SendingContext,org.omg.stu
>> >> b.java.rmi,org.w3c.dom,org.w3c.dom.bootstrap,org.w3c.dom.css,
>> org.w3c.do
>> >> m.events,org.w3c.dom.html,[3]org.w3c.dom.ls
>> ,org.w3c.dom.ranges,org.w3c.
>> >> dom.stylesheets,org.w3c.dom.traversal,org.w3c.dom.views,org.xml.sax,org
>> >> .xml.sax.ext,org.xml.sax.helpers,javax.transaction;partial=true;mandato
>> >> ry:=partial,javax.transaction.xa;partial=true;mandatory:=partial"),
>> >> Please note the suspend=y
>> >> --------------------------------------------
>> >> But the app never suspends at start up and runs till its complete. Any
>> >> help will be appreciated. I'm sure I'm not the only one who is trying
>> >> to debug a PAXRunner JUnit test class.
>> >> Been stuck on this for a while. Any help/time will be appreciated.
>> >> Thanks in advance!
>> >> Matt
>> >>
>> >> References
>> >>
>> >> 1. http://javax.net/
>> >> 2. http://javax.xml.ws/
>> >> 3. http://org.w3c.dom.ls/
>> >
>> >> _______________________________________________
>> >> general mailing list
>> >> [email protected]
>> >> http://lists.ops4j.org/mailman/listinfo/general
>> >
>>
>> _______________________________________________
>> general mailing list
>> [email protected]
>> http://lists.ops4j.org/mailman/listinfo/general
>>
>>
>
>
> --
> *Toni Menzel - http://www.okidokiteam.com*
>
_______________________________________________
general mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/general