apache / apache/maven-surefire

[SUREFIRE-1505] Ability to use a custom StackTraceWriter with the surefire plugin...

Open
#2,168 0 comments 0 reactions 0 assignees View on GitHub
enhancement priority:minor
Dominant language
Java
Stars
461
Forks
588
Avg merge
1d 8h
Merged PRs (30d)
19

Description

**[Zoltan Farkas](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=zolyfarkas)** opened **[SUREFIRE-1505](https://issues.apache.org/jira/browse/SUREFIRE-1505?redirect=false)** and commented

Current stack trace printout in my opinion is not ideal for all use cases..

For example it would be nice to have package information (jar/version), so that when people report an issue and provide a stack trace you also know the precise library info/versions which is very valuable...

Another use case would be if one would want to use a json representation...

Here would be an example of stack trace printed with https://github.com/zolyfarkas/spf4j/blob/master/spf4j-core/src/main/java/org/spf4j/base/Throwables.java#L519 :

```java
com.google.common.util.concurrent.UncheckedExecutionException:java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Value of java.util.Map cannot be converted to open type
at o.s.r.CachingTypeMapSupplierWrapper.get(CachingTypeMapSupplierWrapper.java:120)[classes/]
at o.s.j.m.Spf4jOpenTypeMapper.get(Spf4jOpenTypeMapper.java:165)[^]
at o.s.j.OpenTypeConverterTest.testConverterMapStrObject(OpenTypeConverterTest.java:191)[test-classes/]
at s.r.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_162]
at ^.invoke(^:62)[^]
at s.r.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[^]
at j.l.r.Method.invoke(Method.java:498)[^]
...
at o.j.r.ParentRunner.run(^:363)[^]
at o.a.m.s.j.JUnit4Provider.execute(JUnit4Provider.java:369)[surefire-junit4-2.20.1.jar:2.20.1]
at ^.executeWithRerun(^:275)[^]
at ^.executeTestSet(^:239)[^]
at ^.invoke(^:160)[^]
at o.a.m.s.b.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:373)[surefire-booter-2.20.1.jar:2.20.1]
at ^.runSuitesInProcess(^:334)[^]
at ^.execute(^:119)[^]
at ^.main(^:407)[^]
Caused by: java.util.concurrent.ExecutionException:java.lang.IllegalArgumentException: Value of java.util.Map cannot be converted to open type
at o.s.c.UnboundedLoadingCache.get(UnboundedLoadingCache.java:111)[classes/]
at o.s.r.CachingTypeMapSupplierWrapper.get(CachingTypeMapSupplierWrapper.java:114)[^]
... 27 more
```

---
No further details from [SUREFIRE-1505](https://issues.apache.org/jira/browse/SUREFIRE-1505?redirect=false)

Contributor guide

Open the contributing guide

Research direction

The issue names no repository files or tests. Start by locating Surefire's current stack-trace rendering path and its plugin configuration or extension points; done means a custom StackTraceWriter can be supplied, including for representations such as JSON, while existing stack-trace output remains supported.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.