Skip to content
Snippets Groups Projects
Commit 78cb2ea3 authored by Mai Pham's avatar Mai Pham
Browse files

Add testcases

parent c6d191c9
No related branches found
No related tags found
No related merge requests found
Showing
with 145 additions and 47 deletions
...@@ -3,3 +3,5 @@ ...@@ -3,3 +3,5 @@
*.DS_Store *.DS_Store
files/generated_log/* files/generated_log/*
out/artifacts/grep_server_jar/* out/artifacts/grep_server_jar/*
out/artifacts/grep_client_jar/*
files/demo_data/*
...@@ -9,6 +9,5 @@ for ((i=1; i<=upperlim; i++)); do ...@@ -9,6 +9,5 @@ for ((i=1; i<=upperlim; i++)); do
else else
ssh maitp2@fa22-cs425-52$i.cs.illinois.edu 'java -jar /home/maitp2/grep_server.jar -p 5000' ssh maitp2@fa22-cs425-52$i.cs.illinois.edu 'java -jar /home/maitp2/grep_server.jar -p 5000'
fi fi
sleep 3s
logout logout
done done
\ No newline at end of file
...@@ -5,8 +5,8 @@ upperlim=10 ...@@ -5,8 +5,8 @@ upperlim=10
for ((i=1; i<=upperlim; i++)); do for ((i=1; i<=upperlim; i++)); do
echo "Sending jar file to VM $i" echo "Sending jar file to VM $i"
if [ "$i" -lt 10 ]; then if [ "$i" -lt 10 ]; then
scp /home/maipham/uiuc/cs425/mp1/grep/out/artifacts/grep_server_jar/grep_server.jar maitp2@fa22-cs425-520$i.cs.illinois.edu:/home/maitp2/ scp /home/maipham/uiuc/cs425/mp1/grep/out/artifacts/grep_client_jar/grep_client.jar maitp2@fa22-cs425-520$i.cs.illinois.edu:/home/maitp2/
else else
scp /home/maipham/uiuc/cs425/mp1/grep/out/artifacts/grep_server_jar/grep_server.jar maitp2@fa22-cs425-52$i.cs.illinois.edu:/home/maitp2/ scp /home/maipham/uiuc/cs425/mp1/grep/out/artifacts/grep_client_jar/grep_client.jar maitp2@fa22-cs425-52$i.cs.illinois.edu:/home/maitp2/
fi fi
done done
\ No newline at end of file
#!/bin/bash
# This bash will send Client and server jars files to all VMs
upperlim=10
for ((i=1; i<=upperlim; i++)); do
echo "Sending log file to VM $i"
if [ "$i" -lt 10 ]; then
# scp /home/maipham/uiuc/cs425/mp1/grep/files/demo_data/vm$i.log maitp2@fa22-cs425-520$i.cs.illinois.edu:/home/maitp2/
scp /home/maipham/uiuc/cs425/mp1/grep/files/config.txt maitp2@fa22-cs425-520$i.cs.illinois.edu:/home/maitp2/
else
# scp /home/maipham/uiuc/cs425/mp1/grep/files/demo_data/vm$i.log maitp2@fa22-cs425-52$i.cs.illinois.edu:/home/maitp2/
scp /home/maipham/uiuc/cs425/mp1/grep/files/config.txt maitp2@fa22-cs425-52$i.cs.illinois.edu:/home/maitp2/
fi
done
\ No newline at end of file
fa22-cs425-5201.cs.illinois.edu 5000 /home/maitp2/generated_log.log fa22-cs425-5201.cs.illinois.edu 5000 /home/maitp2/vm1.log
fa22-cs425-5202.cs.illinois.edu 5000 /home/maitp2/generated_log.log fa22-cs425-5202.cs.illinois.edu 5000 /home/maitp2/vm2.log
fa22-cs425-5203.cs.illinois.edu 5000 /home/maitp2/generated_log.log fa22-cs425-5203.cs.illinois.edu 5000 /home/maitp2/vm3.log
fa22-cs425-5204.cs.illinois.edu 5000 /home/maitp2/generated_log.log fa22-cs425-5204.cs.illinois.edu 5000 /home/maitp2/vm4.log
fa22-cs425-5205.cs.illinois.edu 5000 /home/maitp2/generated_log.log fa22-cs425-5205.cs.illinois.edu 5000 /home/maitp2/vm5.log
fa22-cs425-5206.cs.illinois.edu 5000 /home/maitp2/generated_log.log fa22-cs425-5206.cs.illinois.edu 5000 /home/maitp2/vm6.log
fa22-cs425-5207.cs.illinois.edu 5000 /home/maitp2/generated_log.log fa22-cs425-5207.cs.illinois.edu 5000 /home/maitp2/vm7.log
fa22-cs425-5208.cs.illinois.edu 5000 /home/maitp2/generated_log.log fa22-cs425-5208.cs.illinois.edu 5000 /home/maitp2/vm8.log
fa22-cs425-5209.cs.illinois.edu 5000 /home/maitp2/generated_log.log fa22-cs425-5209.cs.illinois.edu 5000 /home/maitp2/vm9.log
fa22-cs425-5210.cs.illinois.edu 5000 /home/maitp2/generated_log.log fa22-cs425-5210.cs.illinois.edu 5000 /home/maitp2/vm10.log
\ No newline at end of file \ No newline at end of file
localhost 5001 /home/maipham/uiuc/cs425/mp1/grep/files/generated_log/test1.log localhost 5001 /home/maipham/uiuc/cs425/mp1/grep/files/demo_data/vm1.log
\ No newline at end of file \ No newline at end of file
{\rtf1\ansi\ansicpg1252\cocoartf2638
\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
{\*\expandedcolortbl;;}
\margl1440\margr1440\vieww11520\viewh8400\viewkind0
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0
\f0\fs24 \cf0 Error: This is an error for multi test case 1\
}
\ No newline at end of file
{\rtf1\ansi\ansicpg1252\cocoartf2638
\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
{\*\expandedcolortbl;;}
\margl1440\margr1440\vieww11520\viewh8400\viewkind0
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0
\f0\fs24 \cf0 Error: This is a confirm for multi test case 2\
!}
\ No newline at end of file
vm1.log: 283553
vm2.log: 267938
vm3.log: 268804
vm4.log: 270917
vm5.log: 271205
vm6.log: 268894
vm7.log: 268084
vm8.log: 274522
vm9.log: 269822
vm10.log: 265524
Total number of matching lines: 2709263
\ No newline at end of file
vm1.log: 0
vm2.log: 0
vm3.log: 0
vm4.log: 0
vm5.log: 0
vm6.log: 0
vm7.log: 0
vm8.log: 0
vm9.log: 0
vm10.log: 0
Total number of matching lines: 0
\ No newline at end of file
vm1.log: 1
vm2.log: 0
vm3.log: 0
vm4.log: 0
vm5.log: 0
vm6.log: 0
vm7.log: 0
vm8.log: 0
vm9.log: 0
vm10.log: 0
Total number of matching lines: 1
\ No newline at end of file
vm1.log: 84965
vm2.log: 80130
vm3.log: 80591
vm4.log: 81191
vm5.log: 81284
vm6.log: 80448
vm7.log: 80768
vm8.log: 82096
vm9.log: 80626
vm10.log: 79214
Total number of matching lines: 811313
\ No newline at end of file
vm1.log: 32473
vm2.log: 21726
vm3.log: 23171
vm4.log: 24521
vm5.log: 25238
vm6.log: 22684
vm7.log: 22013
vm8.log: 27898
vm9.log: 23753
vm10.log: 19447
Total number of matching lines: 242924
\ No newline at end of file
vm1.log: 2
vm2.log: 1
vm3.log: 1
vm4.log: 2
vm5.log: 0
vm6.log: 0
vm7.log: 1
vm8.log: 1
vm9.log: 0
vm10.log: 0
Total number of matching lines: 8
\ No newline at end of file
No preview for this file type
No preview for this file type
...@@ -11,6 +11,10 @@ ...@@ -11,6 +11,10 @@
<properties> <properties>
<maven.compiler.source>8</maven.compiler.source> <maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target> <maven.compiler.target>8</maven.compiler.target>
<jdk.version>1.8</jdk.version>
<junit.jupiter.version>5.8.2</junit.jupiter.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties> </properties>
<dependencies> <dependencies>
<dependency> <dependency>
...@@ -36,5 +40,26 @@ ...@@ -36,5 +40,26 @@
<version>2.0.0</version> <version>2.0.0</version>
</dependency> </dependency>
</dependencies> </dependencies>
<build>
<finalName>running-unit-tests</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
</plugin>
</plugins>
</build>
</project> </project>
\ No newline at end of file
...@@ -29,10 +29,12 @@ public class Client { ...@@ -29,10 +29,12 @@ public class Client {
System.exit(1); System.exit(1);
} }
long start = System.currentTimeMillis();
/* Read config file */ /* Read config file */
String configFile = ns.getString("configFile"); String configFile = ns.getString("configFile");
String pattern = String.join(" ", ns.getList("command")); String pattern = String.join(" ", ns.getList("command"));
ClientHandler.start(configFile, pattern); ClientHandler.start(configFile, pattern);
long end = System.currentTimeMillis();
System.out.println("Elapsed Time: " + (end - start) + " ms" );
} }
} }
package cs425.mp1; package cs425.mp1;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.FileReader; import java.io.FileReader;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
public class ClientHandler { public class ClientHandler {
public static String start(String confFile, String grepCommand) throws IOException {
private static final Logger logger = LoggerFactory.getLogger(ClientHandler.class);
public static ArrayList<ResultInfo> start(String confFile, String grepCommand) throws IOException {
/* Read server hosts, ports, and log files from config files */ /* Read server hosts, ports, and log files from config files */
FileReader file = new FileReader(confFile); FileReader file = new FileReader(confFile);
ArrayList<ServerConf> servers = new ArrayList<>(); ArrayList<ServerConf> servers = new ArrayList<>();
String line; String line;
BufferedReader reader = new BufferedReader(file); BufferedReader reader = new BufferedReader(file);
int totalLines = 0;
while (true) { while (true) {
line = reader.readLine(); line = reader.readLine();
if (line != null) { if (line != null) {
...@@ -31,24 +39,31 @@ public class ClientHandler { ...@@ -31,24 +39,31 @@ public class ClientHandler {
Creating threads based on number of servers Creating threads based on number of servers
*/ */
int n = servers.size(); int n = servers.size();
StringBuilder result = new StringBuilder(); ArrayList<GrepThread> threads = new ArrayList<>(n);
ArrayList<JobThread> threads = new ArrayList<>(n);
for (int i = 0; i < n; i++) { for (int i = 0; i < n; i++) {
JobThread t = new JobThread(servers.get(i), grepCommand); GrepThread t = new GrepThread(servers.get(i), grepCommand);
threads.add(t); threads.add(t);
t.start(); t.start();
} }
/* End threads */ /* End threads */
for (JobThread t: threads) { ArrayList<ResultInfo> results = new ArrayList<>();
for (GrepThread t: threads) {
try { try {
t.join(); t.join();
result.append(t.getResult()).append("\n"); if (t.getResult() != null){
results.add(t.getResult());
totalLines += t.getResult().getMatches();
}
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
return result.toString(); System.out.println("Total lines: " + totalLines);
results.add(new ResultInfo("total", "total", totalLines));
return results;
} }
} }
package cs425.mp1;
public class Constant {
public static final String SUCCESS_CREATE_LOG = "SUCCESSFUL CREATE LOG";
public static final String ERROR_CREATE_LOG = "FAIL TO CREATE LOG FILE";
public static final String LOG_FILE_DOES_NOT_EXIST = "LOG FILE DOES NOT EXIST";
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment