diff --git a/test_shell/42sh.result b/test_shell/42sh.result new file mode 100644 index 0000000..e69de29 diff --git a/test_shell/all_tests.sh b/test_shell/all_tests.sh new file mode 100755 index 0000000..5f6fe05 --- /dev/null +++ b/test_shell/all_tests.sh @@ -0,0 +1,25 @@ +./my_tests.sh tests/test1 +./my_tests.sh tests/test2 +./my_tests.sh tests/test3 +./my_tests.sh tests/test4 +./my_tests.sh tests/test5 +./my_tests.sh tests/test6 +./my_tests.sh tests/test7 +./my_tests.sh tests/test8 +./my_tests.sh tests/test9 +./my_tests.sh tests/test10 +./my_tests.sh tests/test11 +./my_tests.sh tests/test12 +./my_tests.sh tests/test13 +./my_tests.sh tests/test14 +./my_tests.sh tests/test15 +./my_tests.sh tests/test16 +./my_tests.sh tests/test17 +./my_tests.sh tests/test18 +./my_tests.sh tests/test19 +./my_tests.sh tests/test20 +./my_tests.sh tests/test21 +./my_tests.sh tests/test22 +./my_tests.sh tests/test23 +./my_tests.sh tests/test24 +./my_tests.sh tests/test25 \ No newline at end of file diff --git a/test_shell/my_tests.sh b/test_shell/my_tests.sh new file mode 100755 index 0000000..275b03e --- /dev/null +++ b/test_shell/my_tests.sh @@ -0,0 +1,62 @@ +#!/bin/sh + +test_setup() +{ + if [ -f "$fictest".setup ] + then + . "$fictest".setup + fi +} + +test_unsetup() +{ + if [ -f "$fictest".unsetup ] + then + . "$fictest".unsetup + fi +} + +test_tcsh() +{ + test_setup + /bin/cat "$fictest" | /bin/tcsh -f 2>tcsh.result >tcsh.result + test_unsetup +} + +test_42sh() +{ + test_setup + /bin/cat "$fictest" | ./42sh 2> 42sh.result >42sh.result + test_unsetup +} + + +fictest="$1" +echo "*** Launch $fictest ***" +rm -f tcsh.result 42sh.result +if [ ! -f "$fictest" ] +then + echo "Test $fictest not found !" 1>&2 + exit 1 +fi +if [ ! -f "42sh" ] +then + echo "42sh not found !" 1>&2 + exit 1 +fi +if [ ! -f "/bin/tcsh" ] +then + echo "tcsh not found !" 1>&2 + exit 1 +fi +(test_tcsh "$fictest") +(test_42sh "$fictest") +diff 42sh.result tcsh.result >/dev/null 2>/dev/null +if [ $? -eq 0 ] +then + echo " => OK" + exit 0 +else + echo " => FAILED" + exit 1 +fi diff --git a/test_shell/tcsh.result b/test_shell/tcsh.result new file mode 100644 index 0000000..6296183 --- /dev/null +++ b/test_shell/tcsh.result @@ -0,0 +1,25 @@ +alias.c +alias.o +args.c +args.o +builtin +env.c +env.o +execute.c +execute.o +free_env.c +free_env.o +glob.c +glob.o +key_bindings +main.c +main.o +my_ncurses +prompt.c +prompt.o +redirections +shell.c +shell.o +signal.c +signal.o +utility diff --git a/test_shell/tests/test1 b/test_shell/tests/test1 new file mode 100644 index 0000000..3b1f437 --- /dev/null +++ b/test_shell/tests/test1 @@ -0,0 +1,2 @@ +cd .. +ls null; ls ok && ls; ls || ls -l; ls \ No newline at end of file diff --git a/test_shell/tests/test10 b/test_shell/tests/test10 new file mode 100644 index 0000000..e3a3a4f --- /dev/null +++ b/test_shell/tests/test10 @@ -0,0 +1,4 @@ +cd .. +alias history ls +history -la +unalias history diff --git a/test_shell/tests/test11 b/test_shell/tests/test11 new file mode 100644 index 0000000..6870771 --- /dev/null +++ b/test_shell/tests/test11 @@ -0,0 +1 @@ +unalias && ls \ No newline at end of file diff --git a/test_shell/tests/test12 b/test_shell/tests/test12 new file mode 100644 index 0000000..1fe6a93 --- /dev/null +++ b/test_shell/tests/test12 @@ -0,0 +1 @@ +unalias || ls .. \ No newline at end of file diff --git a/test_shell/tests/test13 b/test_shell/tests/test13 new file mode 100644 index 0000000..e9bec52 --- /dev/null +++ b/test_shell/tests/test13 @@ -0,0 +1,16 @@ +unalias ls +alias ls cd +alias +ls .. +unalias ls +ls +alias a a +alias b b +alias L L +alias +unalias b +alias +unalias a +alias +unalias L +alias \ No newline at end of file diff --git a/test_shell/tests/test14 b/test_shell/tests/test14 new file mode 100644 index 0000000..bb32768 --- /dev/null +++ b/test_shell/tests/test14 @@ -0,0 +1,4 @@ +alias ls cd .. +alias | grep cd +alias ls cd +alias | grep cd \ No newline at end of file diff --git a/test_shell/tests/test15 b/test_shell/tests/test15 new file mode 100644 index 0000000..93f81ef --- /dev/null +++ b/test_shell/tests/test15 @@ -0,0 +1,8 @@ +alias ls ls -l +alias +alias ls "ls -l" +alias +alias ls 'ls -l' +alias +alias ls ls\ -l +alias \ No newline at end of file diff --git a/test_shell/tests/test16 b/test_shell/tests/test16 new file mode 100644 index 0000000..d2ee4b8 --- /dev/null +++ b/test_shell/tests/test16 @@ -0,0 +1 @@ +ls ' \ No newline at end of file diff --git a/test_shell/tests/test17 b/test_shell/tests/test17 new file mode 100644 index 0000000..6523e3b --- /dev/null +++ b/test_shell/tests/test17 @@ -0,0 +1,7 @@ +cd ../../.. +cd 'Semestre 2' +ls; cd .. +cd "Semestre 2" +ls; cd .. +cd Semestre\ 2 +ls \ No newline at end of file diff --git a/test_shell/tests/test18 b/test_shell/tests/test18 new file mode 100644 index 0000000..a5f7224 --- /dev/null +++ b/test_shell/tests/test18 @@ -0,0 +1 @@ +echo ok bye diff --git a/test_shell/tests/test19 b/test_shell/tests/test19 new file mode 100644 index 0000000..63266c7 --- /dev/null +++ b/test_shell/tests/test19 @@ -0,0 +1,2 @@ +setenv ok lol +echo $ok bye diff --git a/test_shell/tests/test2 b/test_shell/tests/test2 new file mode 100644 index 0000000..136fc9c --- /dev/null +++ b/test_shell/tests/test2 @@ -0,0 +1,2 @@ +ls l && cd ok +ls && \ No newline at end of file diff --git a/test_shell/tests/test20 b/test_shell/tests/test20 new file mode 100644 index 0000000..d5a5c6f --- /dev/null +++ b/test_shell/tests/test20 @@ -0,0 +1 @@ +echo \n diff --git a/test_shell/tests/test21 b/test_shell/tests/test21 new file mode 100644 index 0000000..fa11a6a --- /dev/null +++ b/test_shell/tests/test21 @@ -0,0 +1 @@ +echo diff --git a/test_shell/tests/test22 b/test_shell/tests/test22 new file mode 100644 index 0000000..5627780 --- /dev/null +++ b/test_shell/tests/test22 @@ -0,0 +1 @@ +echo "\n" diff --git a/test_shell/tests/test23 b/test_shell/tests/test23 new file mode 100644 index 0000000..956a4bc --- /dev/null +++ b/test_shell/tests/test23 @@ -0,0 +1 @@ +echo "$" \ No newline at end of file diff --git a/test_shell/tests/test24 b/test_shell/tests/test24 new file mode 100644 index 0000000..5931018 --- /dev/null +++ b/test_shell/tests/test24 @@ -0,0 +1,3 @@ +echo "\t" +echo $ +echo $? diff --git a/test_shell/tests/test25 b/test_shell/tests/test25 new file mode 100644 index 0000000..2e4b5fe --- /dev/null +++ b/test_shell/tests/test25 @@ -0,0 +1,4 @@ +cd .. +setenv a s +setenv b rc +ls $a$b \ No newline at end of file diff --git a/test_shell/tests/test3 b/test_shell/tests/test3 new file mode 100644 index 0000000..e61c144 --- /dev/null +++ b/test_shell/tests/test3 @@ -0,0 +1,2 @@ +cd .. + && ls \ No newline at end of file diff --git a/test_shell/tests/test4 b/test_shell/tests/test4 new file mode 100644 index 0000000..60fa800 --- /dev/null +++ b/test_shell/tests/test4 @@ -0,0 +1 @@ +ls || \ No newline at end of file diff --git a/test_shell/tests/test5 b/test_shell/tests/test5 new file mode 100644 index 0000000..b56375c --- /dev/null +++ b/test_shell/tests/test5 @@ -0,0 +1 @@ + || ls diff --git a/test_shell/tests/test6 b/test_shell/tests/test6 new file mode 100644 index 0000000..450bc0d --- /dev/null +++ b/test_shell/tests/test6 @@ -0,0 +1 @@ + || diff --git a/test_shell/tests/test7 b/test_shell/tests/test7 new file mode 100644 index 0000000..08becee --- /dev/null +++ b/test_shell/tests/test7 @@ -0,0 +1 @@ + && \ No newline at end of file diff --git a/test_shell/tests/test8 b/test_shell/tests/test8 new file mode 100644 index 0000000..54d16aa --- /dev/null +++ b/test_shell/tests/test8 @@ -0,0 +1,2 @@ + && +ls ; || ; &&; ls \ No newline at end of file diff --git a/test_shell/tests/test9 b/test_shell/tests/test9 new file mode 100644 index 0000000..804b412 --- /dev/null +++ b/test_shell/tests/test9 @@ -0,0 +1,8 @@ +alias a a +alias b b +alias L L +alias +alias ok bye +alias a bye +alias +unalias ok;alias \ No newline at end of file