From 624c951624dfb7a5d8ab5610514a18fa5f4f15f7 Mon Sep 17 00:00:00 2001
From: Jan Kytka <kytka.honza@gmail.com>
Date: Thu, 26 May 2022 07:53:35 +0200
Subject: [PATCH 1/3] Test cd-ing to a long path

---
 final-assignment-tests/shell/phase-1.tests |  1 +
 final-assignment-tests/shell/test-037.sh   | 17 +++++++++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 final-assignment-tests/shell/test-037.sh

diff --git a/final-assignment-tests/shell/phase-1.tests b/final-assignment-tests/shell/phase-1.tests
index 707c6b9..a1484b8 100644
--- a/final-assignment-tests/shell/phase-1.tests
+++ b/final-assignment-tests/shell/phase-1.tests
@@ -13,3 +13,4 @@
 034
 035
 036
+037
diff --git a/final-assignment-tests/shell/test-037.sh b/final-assignment-tests/shell/test-037.sh
new file mode 100644
index 0000000..206b024
--- /dev/null
+++ b/final-assignment-tests/shell/test-037.sh
@@ -0,0 +1,17 @@
+#/bin/bash
+
+dir=long-path-123456
+count=128
+
+function test_input {
+    seq $count | while read i; do
+        echo -e "mkdir $dir; cd $dir"
+    done
+    echo "pwd"
+}
+
+n=$( test_input | $MYSH | tr '/' '\n' | grep "^${dir}$" | wc -l )
+rm -rf $dir
+
+(( $n != $count )) && echo "Count expected $count, was $n" && exit 1
+exit 0

From 526c3ad2e4fe768b43edf670d224e74987f02be7 Mon Sep 17 00:00:00 2001
From: Jan Kytka <kytka.honza@gmail.com>
Date: Fri, 27 May 2022 13:42:28 +0200
Subject: [PATCH 2/3] Improve test 37 - run in tmp dir - add x bit - make sure
 path shorter than PATH_MAX

---
 final-assignment-tests/shell/test-037.sh | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
 mode change 100644 => 100755 final-assignment-tests/shell/test-037.sh

diff --git a/final-assignment-tests/shell/test-037.sh b/final-assignment-tests/shell/test-037.sh
old mode 100644
new mode 100755
index 206b024..d16a16c
--- a/final-assignment-tests/shell/test-037.sh
+++ b/final-assignment-tests/shell/test-037.sh
@@ -1,7 +1,10 @@
 #/bin/bash
 
 dir=long-path-123456
-count=128
+tmpdir=$(mktemp -d)
+
+# PATH_MAX can be as low as 256, so were safe ${#dir} * 8 = 128
+count=8
 
 function test_input {
     seq $count | while read i; do
@@ -10,8 +13,8 @@ function test_input {
     echo "pwd"
 }
 
-n=$( test_input | $MYSH | tr '/' '\n' | grep "^${dir}$" | wc -l )
-rm -rf $dir
+n=$( cd $tmpdir; test_input | $MYSH | tr "/" "\n" | grep -c "^${dir}$" )
+rm -rf $tmpdir
 
 (( $n != $count )) && echo "Count expected $count, was $n" && exit 1
 exit 0

From 792d8b864508c456743bfeeddcbb192434b446ec Mon Sep 17 00:00:00 2001
From: Vladimir Kotal <vlada@kotalovi.cz>
Date: Sun, 19 Jun 2022 23:02:21 +0200
Subject: [PATCH 3/3] use double quotes when removing

---
 final-assignment-tests/shell/test-037.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/final-assignment-tests/shell/test-037.sh b/final-assignment-tests/shell/test-037.sh
index d16a16c..c30137a 100755
--- a/final-assignment-tests/shell/test-037.sh
+++ b/final-assignment-tests/shell/test-037.sh
@@ -14,7 +14,7 @@ function test_input {
 }
 
 n=$( cd $tmpdir; test_input | $MYSH | tr "/" "\n" | grep -c "^${dir}$" )
-rm -rf $tmpdir
+rm -rf "$tmpdir"
 
 (( $n != $count )) && echo "Count expected $count, was $n" && exit 1
 exit 0