Skip to content

Commit

Permalink
Improve logs to help discern what is being looked for, when, and where (
Browse files Browse the repository at this point in the history
  • Loading branch information
Jorge Marin authored and basil committed May 28, 2019
1 parent 793fa8b commit f9f1e2d
Show file tree
Hide file tree
Showing 4 changed files with 212 additions and 45 deletions.
23 changes: 17 additions & 6 deletions src/main/java/hudson/plugins/textfinder/TextFinderPublisher.java
Original file line number Diff line number Diff line change
Expand Up @@ -128,24 +128,35 @@ private void findText(Run<?, ?> run, FilePath workspace, TaskListener listener)
boolean foundText = false;

if (alsoCheckConsoleOutput) {
logger.println("Checking console output");
// Do not mention the pattern we are looking for to avoid false positives
logger.println("[TextFinder plugin] Scanning console output...");
foundText |=
checkFile(
run.getLogFile(),
compilePattern(logger, regexp),
logger,
run.getCharset(),
true);
} else {
// printing this when checking console output will cause the plugin
// to find this line, which would be pointless.
// doing this only when fileSet!=null to avoid
logger.println("Checking " + regexp);
logger.println(
"[TextFinder plugin] Finished looking for pattern "
+ "'"
+ regexp
+ "'"
+ " in the console output");
}

final RemoteOutputStream ros = new RemoteOutputStream(logger);

if (fileSet != null) {
logger.println(
"[TextFinder plugin] Looking for pattern "
+ "'"
+ regexp
+ "'"
+ " in the files at "
+ "'"
+ fileSet
+ "'");
foundText |= workspace.act(new FileChecker(ros, fileSet, regexp));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,13 @@ public void failureIfFoundInFileOnAgent() throws Exception {
agent.getNodeName(), agent.getNodeName())));
WorkflowRun build = project.scheduleBuild2(0).get();
rule.waitForCompletion(build);
rule.assertLogContains("Checking foobar", build);
rule.assertLogContains(
"[TextFinder plugin] Looking for pattern "
+ "'"
+ UNIQUE_TEXT
+ "'"
+ " in the files at",
build);
assertLogContainsMatch(new File(getWorkspace(build), "out.txt"), UNIQUE_TEXT, build, false);
rule.assertBuildStatus(Result.FAILURE, build);
}
Expand All @@ -79,7 +85,12 @@ public void failureIfFoundInConsoleOnAgent() throws Exception {
agent.getNodeName(), agent.getNodeName())));
WorkflowRun build = project.scheduleBuild2(0).get();
rule.waitForCompletion(build);
rule.assertLogContains("Checking console output", build);
rule.assertLogContains("[TextFinder plugin] Scanning console output...", build);
rule.assertLogContains(
"[TextFinder plugin] Finished looking for pattern '"
+ UNIQUE_TEXT
+ "' in the console output",
build);
assertLogContainsMatch(build.getLogFile(), ECHO_UNIQUE_TEXT, build, true);
rule.assertBuildStatus(Result.FAILURE, build);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,12 @@ public void successIfFoundInConsole() throws Exception {
project.getPublishersList().add(textFinder);
FreeStyleBuild build = project.scheduleBuild2(0).get();
rule.waitForCompletion(build);
rule.assertLogContains("Checking console output", build);
rule.assertLogContains("[TextFinder plugin] Scanning console output...", build);
rule.assertLogContains(
"[TextFinder plugin] Finished looking for pattern '"
+ UNIQUE_TEXT
+ "' in the console output",
build);
assertLogContainsMatch(build.getLogFile(), ECHO_UNIQUE_TEXT, build, true);
rule.assertBuildStatus(Result.SUCCESS, build);
}
Expand All @@ -66,7 +71,12 @@ public void failureIfFoundInConsole() throws Exception {
project.getPublishersList().add(textFinder);
FreeStyleBuild build = project.scheduleBuild2(0).get();
rule.waitForCompletion(build);
rule.assertLogContains("Checking console output", build);
rule.assertLogContains("[TextFinder plugin] Scanning console output...", build);
rule.assertLogContains(
"[TextFinder plugin] Finished looking for pattern '"
+ UNIQUE_TEXT
+ "' in the console output",
build);
assertLogContainsMatch(build.getLogFile(), ECHO_UNIQUE_TEXT, build, true);
rule.assertBuildStatus(Result.FAILURE, build);
}
Expand All @@ -85,7 +95,12 @@ public void unstableIfFoundInConsole() throws Exception {
project.getPublishersList().add(textFinder);
FreeStyleBuild build = project.scheduleBuild2(0).get();
rule.waitForCompletion(build);
rule.assertLogContains("Checking console output", build);
rule.assertLogContains("[TextFinder plugin] Scanning console output...", build);
rule.assertLogContains(
"[TextFinder plugin] Finished looking for pattern '"
+ UNIQUE_TEXT
+ "' in the console output",
build);
assertLogContainsMatch(build.getLogFile(), ECHO_UNIQUE_TEXT, build, true);
rule.assertBuildStatus(Result.UNSTABLE, build);
}
Expand All @@ -98,7 +113,12 @@ public void notFoundInConsole() throws Exception {
project.getPublishersList().add(textFinder);
FreeStyleBuild build = project.scheduleBuild2(0).get();
rule.waitForCompletion(build);
rule.assertLogContains("Checking console output", build);
rule.assertLogContains("[TextFinder plugin] Scanning console output...", build);
rule.assertLogContains(
"[TextFinder plugin] Finished looking for pattern '"
+ UNIQUE_TEXT
+ "' in the console output",
build);
rule.assertBuildStatus(Result.SUCCESS, build);
}
}
Loading

0 comments on commit f9f1e2d

Please sign in to comment.