Repository: reef Updated Branches: refs/heads/master 26780fd87 -> 7f2cb1bdd
[REEF-1284] Fix logic for ValidateMessageSuccessfullyLogged This addressed the issue by * Fix logic for checking numberOfOccurrences in ValidateMessageSuccessfullyLogged JIRA: [REEF-1284](https://issues.apache.org/jira/browse/REEF-1284) This closes #903 Project: http://git-wip-us.apache.org/repos/asf/reef/repo Commit: http://git-wip-us.apache.org/repos/asf/reef/commit/7f2cb1bd Tree: http://git-wip-us.apache.org/repos/asf/reef/tree/7f2cb1bd Diff: http://git-wip-us.apache.org/repos/asf/reef/diff/7f2cb1bd Branch: refs/heads/master Commit: 7f2cb1bdd45f7588981f2d0e71a1092ecf945b47 Parents: 26780fd Author: Andrew Chung <[email protected]> Authored: Thu Mar 24 17:23:31 2016 -0700 Committer: Julia Wang <[email protected]> Committed: Thu Mar 24 19:08:24 2016 -0700 ---------------------------------------------------------------------- .../Functional/Messaging/TestTaskMessage.cs | 4 +-- .../Functional/ReefFunctionalTest.cs | 35 ++++++++++++++------ 2 files changed, 27 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/reef/blob/7f2cb1bd/lang/cs/Org.Apache.REEF.Tests/Functional/Messaging/TestTaskMessage.cs ---------------------------------------------------------------------- diff --git a/lang/cs/Org.Apache.REEF.Tests/Functional/Messaging/TestTaskMessage.cs b/lang/cs/Org.Apache.REEF.Tests/Functional/Messaging/TestTaskMessage.cs index 9152eb8..739b2a0 100644 --- a/lang/cs/Org.Apache.REEF.Tests/Functional/Messaging/TestTaskMessage.cs +++ b/lang/cs/Org.Apache.REEF.Tests/Functional/Messaging/TestTaskMessage.cs @@ -60,12 +60,12 @@ namespace Org.Apache.REEF.Tests.Functional.Messaging messages.Add("TaskMessagingTaskMessageHandler received following message from Task:"); messages.Add("Message: MESSAGE:TASK generated"); messages.Add("is to send message MESSAGE::DRIVER"); - ValidateMessageSuccessfullyLogged(messages, "driver", DriverStdout, testFolder, 0); + ValidateMessageSuccessfullyLogged(messages, "driver", DriverStdout, testFolder, -1); var messages2 = new List<string>(); messages.Add("Received a message from driver, handling it with MessagingDriverMessageHandler:MESSAGE::DRIVER"); messages.Add("Message is sent back from task to driver:"); - ValidateMessageSuccessfullyLogged(messages2, "Node-*", EvaluatorStdout, testFolder, 0); + ValidateMessageSuccessfullyLogged(messages2, "Node-*", EvaluatorStdout, testFolder, -1); CleanUp(testFolder); } http://git-wip-us.apache.org/repos/asf/reef/blob/7f2cb1bd/lang/cs/Org.Apache.REEF.Tests/Functional/ReefFunctionalTest.cs ---------------------------------------------------------------------- diff --git a/lang/cs/Org.Apache.REEF.Tests/Functional/ReefFunctionalTest.cs b/lang/cs/Org.Apache.REEF.Tests/Functional/ReefFunctionalTest.cs index d65119a..ef7207a 100644 --- a/lang/cs/Org.Apache.REEF.Tests/Functional/ReefFunctionalTest.cs +++ b/lang/cs/Org.Apache.REEF.Tests/Functional/ReefFunctionalTest.cs @@ -178,14 +178,25 @@ namespace Org.Apache.REEF.Tests.Functional } } - protected void ValidateMessageSuccessfullyLoggedForDriver(string message, string testFolder, int numberOfoccurances = 1) + /// <summary> + /// See <see cref="ValidateMessageSuccessfullyLogged"/> for detail. This function is <see cref="ValidateMessageSuccessfullyLogged"/> + /// for the driver log. + /// </summary> + protected void ValidateMessageSuccessfullyLoggedForDriver(string message, string testFolder, int numberOfOccurrences = 1) { - var msgs = new List<string>(); - msgs.Add(message); - ValidateMessageSuccessfullyLogged(msgs, "driver", DriverStdout, testFolder, numberOfoccurances); + var msgs = new List<string> { message }; + ValidateMessageSuccessfullyLogged(msgs, "driver", DriverStdout, testFolder, numberOfOccurrences); } - protected void ValidateMessageSuccessfullyLogged(IList<string> messages, string subfolder, string fileName, string testFolder, int numberOfOccurences = 1) + /// <summary> + /// Validates that each of the message provided in the <see cref="messages"/> parameter occurs + /// some number of times. + /// If <see cref="numberOfOccurrences"/> is greater than or equal to 0, validates that each of the message in + /// <see cref="messages"/> occur <see cref="numberOfOccurrences"/> times. + /// If <see cref="numberOfOccurrences"/> is less than 0, validates that each of the message in <see cref="messages"/> + /// occur at least once. + /// </summary> + protected void ValidateMessageSuccessfullyLogged(IList<string> messages, string subfolder, string fileName, string testFolder, int numberOfOccurrences = 1) { string[] lines = null; for (int i = 0; i < 60; i++) @@ -206,16 +217,20 @@ namespace Org.Apache.REEF.Tests.Functional foreach (string message in messages) { string[] successIndicators = lines.Where(s => s.Contains(message)).ToArray(); - if (numberOfOccurences > 0) + if (numberOfOccurrences > 0) { - Assert.True(numberOfOccurences == successIndicators.Count(), - "Expected number of message occurrences " + numberOfOccurences + " differs from actual " + successIndicators.Count()); + Assert.True(numberOfOccurrences == successIndicators.Count(), + "Expected number of message occurrences " + numberOfOccurrences + " differs from actual " + successIndicators.Count()); } - else + else if (numberOfOccurrences == 0) { - Assert.True(0 == successIndicators.Count(), + Assert.True(0 == successIndicators.Count(), "Message not expected to occur but occurs " + successIndicators.Count() + " times"); } + else + { + Assert.True(successIndicators.Count() > 0, "Message expected to occur, but did not."); + } } } else
