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

Reply via email to