diff options
| -rw-r--r-- | config.py | 2 | ||||
| -rwxr-xr-x | main.py | 3 | ||||
| -rw-r--r-- | suites/__init__.py | 7 | ||||
| -rw-r--r-- | suites/builtin.py | 94 | ||||
| -rw-r--r-- | suites/suites.py (renamed from suites.py) | 12 | ||||
| -rw-r--r-- | test.py | 2 |
6 files changed, 105 insertions, 15 deletions
@@ -21,7 +21,7 @@ SANDBOX_PATH = "sandbox" EXECUTABLES_PATH = "./bin" # commands available in test" -AVAILABLE_COMMANDS = ["cat", "touch"] +AVAILABLE_COMMANDS = ["cat", "touch", "env"] # $PATH environment variable passed to the shell PATH_VARIABLE = os.path.abspath(EXECUTABLES_PATH) @@ -7,7 +7,8 @@ import shutil import config from args import parse_args from suite import Suite -import suites +import suites.builtin +import suites.suites def main(): if not os.path.exists(config.EXECUTABLES_PATH): diff --git a/suites/__init__.py b/suites/__init__.py new file mode 100644 index 0000000..736c3c5 --- /dev/null +++ b/suites/__init__.py @@ -0,0 +1,7 @@ +import os +import glob + +modules = glob.glob(os.path.join(os.path.dirname(__file__), "*.py")) +__all__ = [os.path.basename(f)[:-3] for f in modules if os.path.isfile(f) and not f.endswith("__init__.py")] + +print(__all__) diff --git a/suites/builtin.py b/suites/builtin.py new file mode 100644 index 0000000..1211363 --- /dev/null +++ b/suites/builtin.py @@ -0,0 +1,94 @@ +import config +from suite import suite + +@suite +def suite_echo(test): + test("echo bonjour") + test("echo lalalala lalalalal alalalalal alalalala") + test("echo lalalala lalalalal alalalalal alalalala") + test("echo " + config.LOREM) + + test("echo -n bonjour") + test("echo -n lalalala lalalalal alalalalal alalalala") + test("echo -n lalalala lalalalal alalalalal alalalala") + test("echo -n " + config.LOREM) + +@suite +def suite_export(test): + test("export A=a") + test("export A=a B=b C=c") + test("export A=a B=b C=c D=d E=e F=f G=g H=h I=i J=j K=k L=l" + + "M=m N=n O=o P=p Q=q R=r S=s T=t U=u V=v W=w X=x Y=y Z=z") + test("export BONJOURJESUIS=a") + test("export bonjourjesuis=a") + test("export bonjour_je_suis=a") + test("export BONJOURJESUIS1=a") + test("export bO_nJq123o__1ju_je3234sui__a=a") + test("export a0123456789=a") + test("export abcdefghijklmnopqrstuvwxyz=a") + test("export ABCDEFGHIJKLMNOPQRSTUVWXYZ=a") + test("export __________________________=a") + test("export _bonjour_=a") + test("export _=a") + test("export 1=a") + test("export BONJOURJESUIS =a") + test("export BONJOURJESUIS= a") + test(r"export BONJOUR\\JESUIS=a") + test(r"export BONJOUR\'JESUIS=a") + test(r'export BONJOUR\"JESUIS=a') + test(r"export BONJOUR\$JESUIS=a") + test(r"export BONJOUR\&JESUIS=a") + test(r"export BONJOUR\|JESUIS=a") + test(r"export BONJOUR\;JESUIS=a") + test(r"export BONJOUR\_JESUIS=a") + test(r"export BONJOUR\0JESUIS=a") + test(r"export \B\O\N\ \ \ \ \ \ \ JOURJESUIS=a") + test(r"export A=\B\O\N\ \ \ \ \ \ \ JOURJESUIS") + test(r"export A='bonjour je suis charles'") + test(r'export A="bonjour je suis charles"') + test(r"export A==a") + test(r"export A===a") + test(r"export A====a") + test(r"export A=====a") + test(r"export A======a") + test(r"export A=a=a=a=a=a") + +@suite +def suite_cd(test): + test("cd ."); + test("cd .."); + test("cd ../.."); + test("cd ../../.."); + test("cd ../../../.."); + test("cd ../../../../.."); + test("cd ../../../../../.."); + test("cd /"); + test("cd /etc"); + test("cd $HOME"); + test("cd ~"); + +@suite +def suite_unset(test): + test("unset A", setup="export A=a") + +@suite +def suite_pwd(test): + test("pwd") + test("pwd", setup="cd ..") + test("pwd", setup="cd ../..") + test("pwd", setup="cd ../../..") + test("pwd", setup="cd /") + test("pwd", setup="cd $HOME") + +@suite +def suite_env(test): + test("env") + test("env", setup="export A=a") + test("env", setup="export A=a B=b C=c") + +@suite +def suite_exit(test): + test("exit") + test("exit 1") + test("exit 2") + test("exit 3") diff --git a/suites.py b/suites/suites.py index b49dd28..56329e5 100644 --- a/suites.py +++ b/suites/suites.py @@ -18,18 +18,6 @@ def suite_quote(test): test('echo "\\\\"') @suite -def suite_echo(test): - test("echo bonjour") - test("echo lalalala lalalalal alalalalal alalalala") - test("echo lalalala lalalalal alalalalal alalalala") - test("echo " + config.LOREM) - - test("echo -n bonjour") - test("echo -n lalalala lalalalal alalalalal alalalala") - test("echo -n lalalala lalalalal alalalalal alalalala") - test("echo -n " + config.LOREM) - -@suite def suite_redirection(test): test("echo bonjour > test", setup="", files=["test"]) test("echo > test bonjour", setup="", files=["test"]) @@ -6,7 +6,7 @@ # By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2020/06/16 21:48:50 by charles #+# #+# # -# Updated: 2020/06/17 11:22:22 by charles ### ########.fr # +# Updated: 2020/06/17 13:28:44 by charles ### ########.fr # # # # ############################################################################ # |
