getappmap / appmap-java

AppMap client agent for Java
Other
82 stars 16 forks source link

Exceptions when executing AppMap agent #206

Open jansorg opened 1 year ago

jansorg commented 1 year ago

I executed tests for an internal project (an IntelliJ plugin project, Gradle, Java 17). When I run the tests, exceptions were printed and ~80 of about ~3500 tests failed. Without the AppMap agent, no tests failed.

Output when I execute a single test class with a few JUnit4 @Test methods:

appmap-test.log.txt

kgilpin commented 1 year ago

Is there a way to disable AppMaps of those tests so you can get a clean test run?

On Thu, Aug 31, 2023 at 6:21 AM Joachim Ansorg @.***> wrote:

I executed tests for an internal project (an IntelliJ plugin project, Gradle, Java 17). When I run the tests, exceptions were printed and ~80 of about ~3500 tests failed. Without the AppMap agent, no tests failed.

Output when I execute a single test class with a few JUnit4 @Test methods:

appmap-test.log.txt https://github.com/getappmap/appmap-java/files/12485096/appmap-test.log.txt

— Reply to this email directly, view it on GitHub https://github.com/getappmap/appmap-java/issues/206, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAVC675KWQWCL4S6C3IBVDXYBQS3ANCNFSM6AAAAAA4F22PHQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

jansorg commented 1 year ago

Is there a way to configure this in appmap.yml? I don't want to edit ~20 source files, e.g. to add JUnit categories. I don't know of an IntelliJ feature to rerun successful tests.

kgilpin commented 1 year ago

You can't do this in appmap.yml, what is the procedure for doing it with JUnit categories?

On Thu, Aug 31, 2023 at 7:21 AM Joachim Ansorg @.***> wrote:

Is there a way to configure this in appmap.yml? I don't want to edit ~20 source files, e.g. to add JUnit categories. I don't know of an IntelliJ feature to rerun successful tests.

— Reply to this email directly, view it on GitHub https://github.com/getappmap/appmap-java/issues/206#issuecomment-1700853341, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAVC67WD24GF5C6O37LRODXYBXSZANCNFSM6AAAAAA4F22PHQ . You are receiving this because you commented.Message ID: @.***>

kgilpin commented 1 year ago

For example, for appmap-ruby we have this section in the docs:

https://appmap.io/docs/reference/appmap-ruby.html#enable-and-disabling-appmaps

On Thu, Aug 31, 2023 at 9:04 AM Kevin Gilpin @.***> wrote:

You can't do this in appmap.yml, what is the procedure for doing it with JUnit categories?

On Thu, Aug 31, 2023 at 7:21 AM Joachim Ansorg @.***> wrote:

Is there a way to configure this in appmap.yml? I don't want to edit ~20 source files, e.g. to add JUnit categories. I don't know of an IntelliJ feature to rerun successful tests.

— Reply to this email directly, view it on GitHub https://github.com/getappmap/appmap-java/issues/206#issuecomment-1700853341, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAVC67WD24GF5C6O37LRODXYBXSZANCNFSM6AAAAAA4F22PHQ . You are receiving this because you commented.Message ID: @.***>

jansorg commented 1 year ago

It depends what level of integration you'd like. I was thinking about adding a JUnit category like "AppMapFailure" and then to modify the project's Gradle build to exclude execution of "AppMapFailure". I haven't tested this yet.

jansorg commented 1 year ago

If the AppMap agent itself should handle the exclusion, then I don't know what's best.

kgilpin commented 1 year ago

JUnit category seems like the right answer for me. This tracks the solution in Ruby - RSpec tags.

On Thu, Aug 31, 2023 at 9:10 AM Joachim Ansorg @.***> wrote:

If the AppMap agent itself should handle the exclusion, then I don't know what's best.

— Reply to this email directly, view it on GitHub https://github.com/getappmap/appmap-java/issues/206#issuecomment-1701012899, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAVC6YESURTG6BNPOG44QDXYCEODANCNFSM6AAAAAA4F22PHQ . You are receiving this because you commented.Message ID: @.***>

apotterri commented 1 year ago

As of v1.23.0, you can now use the @NoAppMap annotation for this: https://appmap.io/docs/reference/appmap-java.html#noappmap .

@jansorg does that help you with this?