apache / apache/maven-surefire
[SUREFIRE-1505] Ability to use a custom StackTraceWriter with the surefire plugin...
- 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
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