homberghp commented on code in PR #8568:
URL: https://github.com/apache/netbeans/pull/8568#discussion_r3006107493
##########
java/maven.junit.ui/src/org/netbeans/modules/maven/junit/ui/MavenJUnitNodeOpener.java:
##########
@@ -186,18 +188,18 @@ public void openCallstackFrame(Node node, @NonNull String
frameInfo) {
FileObject file = UIJavaUtils.getFile(frameInfo, lineNumStorage,
locator);
//lineNumStorage -1 means no regexp for stacktrace was matched.
if (testfo != null && file == null &&
methodNode.getTestcase().getTrouble() != null && lineNumStorage[0] == -1) {
- //213935 we could not recognize the stack trace line and map
it to known file
+ //213935 we could not recognize the stack trace line and map it to
known file
//if it's a failure text, grab the testcase's own line from the
stack.
String[] st =
methodNode.getTestcase().getTrouble().getStackTrace();
- if ((st != null) && (st.length > 0)) {
- int index = st.length - 1;
- //213935 we need to find the testcase linenumber to jump
to.
- // and ignore the infrastructure stack lines in the process
- while (!testfo.equals(file) && index != -1) {
+ for (int index = 0; !testfo.equals(file) && index < st.length;
index++) {
+ String trimmed = JavaRegexpUtils.specialTrim(st[index]);
+ if
(trimmed.startsWith(JavaRegexpUtils.CALLSTACK_LINE_PREFIX_CATCH)
+ ||
trimmed.startsWith(JavaRegexpUtils.CALLSTACK_LINE_PREFIX)) {
file = UIJavaUtils.getFile(st[index], lineNumStorage,
locator);
- index -= 1;
+ break;
}
}
+
}
Review Comment:
I am a bit confused now.
Are we in agreement that the search order should be top-to-bottom rather
than reverse?
This is what both the ANT and MAVEN variants do wrong, IMHO, and triggered
me to post issue #8567.
If UIJavaUtils yields null, then the iteration is correctly stopped. The
null value is considered in lines 205 and 206.
https://github.com/homberghp/netbeans/blob/392ffe99f6be7bc7ded839e727874b236775d5b3/java/maven.junit.ui/src/org/netbeans/modules/maven/junit/ui/MavenJUnitNodeOpener.java#L204..L206.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists