From 6ddb516a8f289041628209dadfdb74ac2c7adbc6 Mon Sep 17 00:00:00 2001
From: jl4589 <jl4589@tux1.cci.drexel.edu>
Date: Thu, 13 Mar 2025 21:44:24 -0400
Subject: [PATCH] added students tests

---
 Assignment-06/starter/dsh              | Bin 0 -> 54320 bytes
 Assignment-06/starter/student_tests.sh |  75 +++++++++++++++++++++++++
 2 files changed, 75 insertions(+)
 create mode 100755 Assignment-06/starter/dsh

diff --git a/Assignment-06/starter/dsh b/Assignment-06/starter/dsh
new file mode 100755
index 0000000000000000000000000000000000000000..b3a2814877cc42b4174b34f709611e542d28b8ae
GIT binary patch
literal 54320
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
Vz{Egw%SjN)z>o!VD1?il9{{gHt=Rwo

literal 0
HcmV?d00001

diff --git a/Assignment-06/starter/student_tests.sh b/Assignment-06/starter/student_tests.sh
index 638bc34..673110a 100644
--- a/Assignment-06/starter/student_tests.sh
+++ b/Assignment-06/starter/student_tests.sh
@@ -4,6 +4,18 @@
 # 
 # Create your unit tests suit in this file
 
+start_server() {
+    ./dsh -s -i 127.0.0.1 -p 5678 > /dev/null 2>&1 &
+    SERVER_PID=$!
+    sleep 1 # Give the server time to start
+}
+
+# Helper function to stop the server
+stop_server() {
+    kill $SERVER_PID 2>/dev/null || true
+    wait $SERVER_PID 2>/dev/null || true
+}
+
 @test "Example: check ls runs without errors" {
     run ./dsh <<EOF                
 ls
@@ -12,3 +24,66 @@ EOF
     # Assertions
     [ "$status" -eq 0 ]
 }
+
+
+@test "Start server and client without errors" {
+    # Start the server
+    start_server
+
+    # Check if the server is running
+    run ps -p $SERVER_PID
+    [ "$status" -eq 0 ]
+
+    # Start the client and send a simple command
+    run ./dsh -c -i 127.0.0.1 -p 5678 <<EOF
+echo Hello, World!
+exit
+EOF
+
+    # Assertions
+    [ "$status" -eq 0 ]
+    [[ "$output" == *"Hello, World!"* ]]
+
+    stop_server
+}
+
+@test "Server handles pipes" {
+    start_server
+
+    echo "testfile1" > testfile1.txt
+    echo "testfile2" >> testfile1.txt
+
+    run ./dsh -c -i 127.0.0.1 -p 5678 <<EOF
+ls -1 | wc -l
+exit
+EOF
+
+    [ "$status" -eq 0 ]
+    [[ "$output" == *"2"* ]] 
+
+    rm -f testfile1.txt
+
+    stop_server
+}
+
+
+@test "Stop server with stop-server command" {
+    start_server
+
+    run ps -p $SERVER_PID
+    [ "$status" -eq 0 ]
+
+    run ./dsh -c -i 127.0.0.1 -p 5678 <<EOF
+stop-server
+EOF
+
+    [ "$status" -eq 0 ]
+
+    sleep 1
+    run ps -p $SERVER_PID
+    [ "$status" -ne 0 ] 
+}
+
+
+
+
-- 
GitLab