aboutsummaryrefslogtreecommitdiff
path: root/suites
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-07-13 15:47:18 +0200
committerCharles <sircharlesaze@gmail.com>2020-07-13 15:47:18 +0200
commitcc041d1901daa8be9197a59d963466fdc7e2b404 (patch)
tree9bfc7150da8ab43101267f2e3875b59ace55638e /suites
parent3f2db95d5563c9c2b92a0531ddee28f79f438706 (diff)
downloadminishell_test-cc041d1901daa8be9197a59d963466fdc7e2b404.tar.gz
minishell_test-cc041d1901daa8be9197a59d963466fdc7e2b404.tar.bz2
minishell_test-cc041d1901daa8be9197a59d963466fdc7e2b404.zip
Added cmd variable tests and empty quote
Diffstat (limited to 'suites')
-rw-r--r--suites/builtin.py1
-rw-r--r--suites/cmd.py41
-rw-r--r--suites/preprocess.py6
3 files changed, 48 insertions, 0 deletions
diff --git a/suites/builtin.py b/suites/builtin.py
index aba70a1..bbe8083 100644
--- a/suites/builtin.py
+++ b/suites/builtin.py
@@ -23,6 +23,7 @@ def suite_echo(test):
@suite
def suite_export(test):
test("export")
+ test("export A=; env | grep A=")
test("export A=a; echo $A")
test("export A=a B=b C=c; echo $A$B$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" +
diff --git a/suites/cmd.py b/suites/cmd.py
index 018bd1a..d4dc2e5 100644
--- a/suites/cmd.py
+++ b/suites/cmd.py
@@ -91,3 +91,44 @@ def suite_cmd_error(test):
test("notfound")
test("notfound a b c")
+
+@suite
+def suite_cmd_variable(test):
+ test("A=a echo $A")
+ test("A=a B=b echo $A$B")
+ test("A=a B=b C=c D=d E=e F=f G=g H=h echo $A$B$C$D$E$F$G$H")
+ test("A=a A=bonjour echo $A")
+ test("A=aA=bonjour echo $A")
+ test("BONJOURJESUIS=a echo $BONJOURJESUIS")
+ test("bonjourjesuis=a echo $bonjourjesuis")
+ test("bonjour_je_suis=a echo $bonjour_je_suis")
+ test("BONJOURJESUIS1=a echo $BONJOURJESUIS1")
+ test("bO_nJq123o__1ju_je3234sui__a=a echo $bO_nJq123o__1ju_je3234sui__a")
+ test("a0123456789=a echo $a0123456789")
+ test("abcdefghijklmnopqrstuvwxyz=a echo $abcdefghijklmnopqrstuvwxyz")
+ test("ABCDEFGHIJKLMNOPQRSTUVWXYZ=a echo $ABCDEFGHIJKLMNOPQRSTUVWXYZ")
+ test("__________________________=a echo $__________________________")
+ test("_bonjour_=a echo $_bonjour_")
+ test("_=a echo $_a")
+ test("1=a echo $1")
+ test("BONJOURJESUIS =a echo $BONJOURJESUIS ")
+ test("BONJOURJESUIS= a echo $BONJOURJESUIS")
+ test(r"BONJOUR\\JESUIS=a echo $BONJOUR\\JESUIS")
+ test(r"BONJOUR\'JESUIS=a echo $BONJOUR\'JESUIS")
+ test(r'BONJOUR\"JESUIS=a echo $BONJOUR\"JESUIS')
+ test(r"BONJOUR\$JESUIS=a echo $BONJOUR\$JESUIS")
+ test(r"BONJOUR\&JESUIS=a echo $BONJOUR\&JESUIS")
+ test(r"BONJOUR\|JESUIS=a echo $BONJOUR\|JESUIS")
+ test(r"BONJOUR\;JESUIS=a echo $BONJOUR\;JESUIS")
+ test(r"BONJOUR\_JESUIS=a echo $BONJOUR\_JESUIS")
+ test(r"BONJOUR\0JESUIS=a echo $BONJOUR\0JESUIS")
+ test(r"\B\O\N\ \ \ \ \ \ \ JOURJESUIS=a echo $\B\O\N\ \ \ \ \ \ \ JOURJESUIS")
+ test(r"A=\B\O\N\ \ \ \ \ \ \ JOURJESUIS echo $A")
+ test(r"A='bonjour je suis charles' echo $A")
+ test(r'A="bonjour je suis charles" echo $A')
+ test(r"A==a echo $A")
+ test(r"A===a echo $A")
+ test(r"A====a echo $A")
+ test(r"A=====a echo $A")
+ test(r"A======a echo $A")
+ test(r"A=a=a=a=a=a echo $A")
diff --git a/suites/preprocess.py b/suites/preprocess.py
index 62588b7..34dac00 100644
--- a/suites/preprocess.py
+++ b/suites/preprocess.py
@@ -17,6 +17,12 @@ def suite_quote(test):
test('echo "\\$"')
test('echo "\\\\"')
+ test('ls ""')
+ test("ls ''")
+
+ test('ls "" "" "" \'\' """"')
+ test("ls '' '' '''' ''")
+
@suite
def suite_interpolation(test):
test("echo $TEST", exports={"TEST": "bonjour"})