summaryrefslogtreecommitdiffstats
path: root/src/main/java
diff options
context:
space:
mode:
authorBMatajsz <90217645+BMatajsz@users.noreply.github.com>2024-12-03 09:34:00 -0500
committerBMatajsz <90217645+BMatajsz@users.noreply.github.com>2024-12-03 09:34:00 -0500
commit44df5df0b65df279aaf471fa8258da218ed7c522 (patch)
treee0b2bc04e5f68d08043fb36b43a80fba1e9e075f /src/main/java
parentd6067d28ce2a22c64cb595af6bca48c81b1664da (diff)
downloadsoen423-44df5df0b65df279aaf471fa8258da218ed7c522.zip
Added expected test results
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/derms/ReplicaManager.java7
-rw-r--r--src/main/java/derms/client/ResponderClient.java7
-rw-r--r--src/main/java/derms/frontend/DERMSServerImpl.java5
-rw-r--r--src/main/java/derms/frontend/FE.java4
-rw-r--r--src/main/java/derms/replica1/Replica1.java2
-rw-r--r--src/main/java/derms/replica2/Replica2.java2
-rw-r--r--src/main/java/derms/replica3/Replica3.java2
-rw-r--r--src/main/java/derms/util/LogComparator.java16
8 files changed, 36 insertions, 9 deletions
diff --git a/src/main/java/derms/ReplicaManager.java b/src/main/java/derms/ReplicaManager.java
index 1e89969..64ceb04 100644
--- a/src/main/java/derms/ReplicaManager.java
+++ b/src/main/java/derms/ReplicaManager.java
@@ -112,7 +112,7 @@ public class ReplicaManager {
informFrontEndRmIsDown(replica.getId());
replica.restart();
- TestLogger.log("REPLICA " + replicaId + ": {RESTARTED}");
+ //TestLogger.log("REPLICA " + replicaId + ": {RESTARTED}");
}
try {
Thread.sleep(5000); // Example 5 seconds.
@@ -139,7 +139,7 @@ public class ReplicaManager {
replica.restart();
informFrontEndRmHasBug(replica.getId());
- TestLogger.log("REPLICA " + replicaId + ": {RESTARTED}");
+ //TestLogger.log("REPLICA " + replicaId + ": {RESTARTED}");
}
private void informFrontEndRmIsDown(int replicaId) {
@@ -148,6 +148,7 @@ public class ReplicaManager {
out.writeObject("RM_DOWN:" + replicaId);
} catch (IOException e) {
log.severe("Failed to inform FE that RM is down: " + e.getMessage());
+ TestLogger.log("[FAILED TO INFORM FE (RM IS DOWN)]");
}
}
@@ -157,6 +158,7 @@ public class ReplicaManager {
out.writeObject("RM_BUG:" + replicaId);
} catch (IOException e) {
log.severe("Failed to inform FE that RM has a bug: " + e.getMessage());
+ TestLogger.log("[FAILED TO INFORM FE (RM HAS A BUG)]");
}
}
@@ -176,6 +178,7 @@ public class ReplicaManager {
System.out.println("ReplicaManager " + replicaId + " is running.");
} catch (IOException e) {
System.err.println("Failed to start ReplicaManager: " + e.getMessage());
+ TestLogger.log("[FAILED TO START RM]");
e.printStackTrace();
}
}
diff --git a/src/main/java/derms/client/ResponderClient.java b/src/main/java/derms/client/ResponderClient.java
index ec599b4..43be3f3 100644
--- a/src/main/java/derms/client/ResponderClient.java
+++ b/src/main/java/derms/client/ResponderClient.java
@@ -1,8 +1,10 @@
package derms.client;
import derms.frontend.DERMSInterface;
+import derms.util.TestLogger;
import java.net.MalformedURLException;
+import java.util.Objects;
public class ResponderClient extends CLI {
public static final String usage = "Usage: java derms.client.ResponderClient <FE host>";
@@ -60,6 +62,11 @@ public class ResponderClient extends CLI {
}
String response = server.addResource(resourceID, resourceName, duration);
System.out.println(response);
+ if (response.contains("Fail")) {
+ TestLogger.log("[FAILED: " + response + "]");
+ } else {
+ TestLogger.log("[SUCCESS: " + response + "]");
+ }
} catch (NumberFormatException e) {
System.out.println("invalid duration: " + durationStr);
}
diff --git a/src/main/java/derms/frontend/DERMSServerImpl.java b/src/main/java/derms/frontend/DERMSServerImpl.java
index 1877cef..2a5dfa9 100644
--- a/src/main/java/derms/frontend/DERMSServerImpl.java
+++ b/src/main/java/derms/frontend/DERMSServerImpl.java
@@ -5,10 +5,6 @@ package derms.frontend;
//import model.Resource;
import java.util.*;
import java.util.stream.Collectors;
-import java.util.Optional;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
@@ -23,6 +19,7 @@ import javax.jws.soap.SOAPBinding.Style;
//import interfaces.DERMSInterface;
import derms.Request;
import derms.Response;
+import derms.util.TestLogger;
@WebService(endpointInterface = "derms.frontend.DERMSInterface")
public class DERMSServerImpl implements DERMSInterface {
diff --git a/src/main/java/derms/frontend/FE.java b/src/main/java/derms/frontend/FE.java
index ee0a323..b3e100f 100644
--- a/src/main/java/derms/frontend/FE.java
+++ b/src/main/java/derms/frontend/FE.java
@@ -52,7 +52,7 @@ public class FE {
System.out.println("Rm:" + RmNumber + "has bug");
// sendMulticastFaultMessageToRms(errorMessage);
sendUnicastToSequencer(errorMessage);
- TestLogger.log("FE: {BYZANTINE: REPLICA" + RmNumber + "}");
+ //TestLogger.log("FE: {BYZANTINE: INFORM REPLICA" + RmNumber + "}");
}
@Override
@@ -62,7 +62,7 @@ public class FE {
System.out.println("Rm:" + RmNumber + "is down");
// sendMulticastFaultMessageToRms(errorMessage);
sendUnicastToSequencer(errorMessage);
- TestLogger.log("FE: {CRASH: REPLICA" + RmNumber + "}");
+ //TestLogger.log("FE: {CRASH: INFORM REPLICA" + RmNumber + "}");
}
@Override
diff --git a/src/main/java/derms/replica1/Replica1.java b/src/main/java/derms/replica1/Replica1.java
index 64565e6..dd5b545 100644
--- a/src/main/java/derms/replica1/Replica1.java
+++ b/src/main/java/derms/replica1/Replica1.java
@@ -5,6 +5,7 @@ import derms.ReplicaManager;
import derms.Request;
import derms.Response;
import derms.replica2.DermsLogger;
+import derms.util.TestLogger;
import derms.util.ThreadPool;
import java.io.IOException;
@@ -94,6 +95,7 @@ public class Replica1 implements Replica {
log.info("Finished shutting down.");
// [TEST] Restart process without byzantine failure or crash
+ TestLogger.log("REPLICA 1: {RESTARTED}");
startProcess(0, 0);
}
diff --git a/src/main/java/derms/replica2/Replica2.java b/src/main/java/derms/replica2/Replica2.java
index 73a66b2..cf21d74 100644
--- a/src/main/java/derms/replica2/Replica2.java
+++ b/src/main/java/derms/replica2/Replica2.java
@@ -1,6 +1,7 @@
package derms.replica2;
import derms.*;
+import derms.util.TestLogger;
import derms.util.ThreadPool;
import sun.reflect.generics.reflectiveObjects.NotImplementedException;
@@ -177,6 +178,7 @@ public class Replica2 implements Replica {
shutdown();
// [TEST] Restart process without byzantine failure or crash
+ TestLogger.log("REPLICA 2: {RESTARTED}");
startProcess(0, 0);
}
diff --git a/src/main/java/derms/replica3/Replica3.java b/src/main/java/derms/replica3/Replica3.java
index b7cf8ef..9e262e3 100644
--- a/src/main/java/derms/replica3/Replica3.java
+++ b/src/main/java/derms/replica3/Replica3.java
@@ -13,6 +13,7 @@ import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import derms.replica3.Logger;
+import derms.util.TestLogger;
public class Replica3 implements Replica{
static final InetSocketAddress announceGroup = new InetSocketAddress("225.5.5.5", 5555);
@@ -130,6 +131,7 @@ public class Replica3 implements Replica{
shutdown();
// [TEST] Restart process without byzantine failure or crash
+ TestLogger.log("REPLICA 3: {RESTARTED}");
startProcess(0, 0);
}
diff --git a/src/main/java/derms/util/LogComparator.java b/src/main/java/derms/util/LogComparator.java
index 6b629a6..da3736c 100644
--- a/src/main/java/derms/util/LogComparator.java
+++ b/src/main/java/derms/util/LogComparator.java
@@ -7,7 +7,21 @@ public class LogComparator {
public static boolean compareLineCounts(String actualFilePath, String expectedFilePath) throws IOException {
long actualLineCount = Files.lines(Paths.get(actualFilePath)).count();
long expectedLineCount = Files.lines(Paths.get(expectedFilePath)).count();
-
+ System.out.println("XXXXXXXXX ACTUAL LINE: " + actualLineCount);
+ System.out.println("XXXXXXXXX EXPECTED: " + expectedLineCount);
return actualLineCount == expectedLineCount;
}
+public static boolean containsSuccess(String filePath) throws IOException {
+ return Files.lines(Paths.get(filePath)).anyMatch(line -> line.contains("SUCCESS"));
+}
+
+public static boolean compareFiles(String actualFilePath, String expectedFilePath) throws IOException {
+ boolean lineCountsMatch = compareLineCounts(actualFilePath, expectedFilePath);
+ boolean actualContainsSuccess = containsSuccess(actualFilePath);
+ System.out.println("XXXXXXXXX ACTUAL SUCCESS: " + actualContainsSuccess);
+ boolean expectedContainsSuccess = containsSuccess(expectedFilePath);
+ System.out.println("XXXXXXXXX EXPECTED SUCCESS: " + expectedContainsSuccess);
+
+ return lineCountsMatch && actualContainsSuccess && expectedContainsSuccess;
+}
} \ No newline at end of file