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