Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better log output to console #21

Merged
merged 11 commits into from
May 28, 2019
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