From 46ba2708f83bf46186c33bf84975d39e87f467c1 Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Fri, 11 Sep 2020 12:33:34 +0200 Subject: Refactoring files, splited test.py and suite.py in packages --- src/suites/operation.py | 105 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 src/suites/operation.py (limited to 'src/suites/operation.py') diff --git a/src/suites/operation.py b/src/suites/operation.py new file mode 100644 index 0000000..3c89589 --- /dev/null +++ b/src/suites/operation.py @@ -0,0 +1,105 @@ +# ############################################################################ # +# # +# ::: :::::::: # +# operation.py :+: :+: :+: # +# +:+ +:+ +:+ # +# By: charles +#+ +:+ +#+ # +# +#+#+#+#+#+ +#+ # +# Created: 2020/07/15 18:24:52 by charles #+# #+# # +# Updated: 2020/07/19 10:23:22 by charles ### ########.fr # +# # +# ############################################################################ # + +from suite import suite + +@suite +def suite_end(test): + test("echo bonjour; echo je") + test("echo bonjour ;echo je") + test("echo bonjour ; echo je") + test("echo bonjour;") + test("echo; ") + test("echo ; ") + test("echo ;") + test("; echo") + test(" ;echo") + test(" ; echo") + test("echo a; echo b; echo c; echo d; echo e; echo f; echo g; echo h; echo i;" + + "echo j; echo k; echo l; echo m; echo c; echo c; echo c; echo c; echo c;" + + "echo c; echo c; echo c; echo v; echo w; echo x; echo y; echo z") + test("echo a ; echo b; echo c ;echo d ; echo e ;echo f; echo g ;echo h; echo i;" + + "echo j ; echo k; echo l; echo m; echo c ; echo c; echo c ; echo c; echo c;" + + "echo c; echo c ; echo c; echo v ; echo w; echo x; echo y ; echo z") + + test("ls doesnotexists ; echo bonjour") + test("ls doesnotexists; echo bonjour") + test("echo bonjour; ls doesnotexists") + +@suite +def suite_and(test): + test("echo bonjour&& echo je") + test("echo bonjour &&echo je") + test("echo bonjour && echo je") + test("echo bonjour&&") + # test("echo&& ") + # test("echo && ") + # test("echo &&") + test("&&echo") + test("&& echo") + test(" && echo") + test("echo a&& echo b&& echo c&& echo d&& echo e&& echo f&& echo g&& echo h&& echo i&&" + + "echo j&& echo k&& echo l&& echo m&& echo c&& echo c&& echo c&& echo c&& echo c&&" + + "echo c&& echo c&& echo c&& echo v&& echo w&& echo x&& echo y&& echo z") + test("echo a && echo b&& echo c &&echo d && echo e &&echo f&& echo g &&echo h&& echo i&&" + + "echo j && echo k&& echo l&& echo m&& echo c && echo c&& echo c && echo c&& echo c&&" + + "echo c&& echo c && echo c&& echo v && echo w&& echo x&& echo y && echo z") + + test("ls doesnotexists && echo bonjour") + test("ls doesnotexists&& echo bonjour") + test("echo bonjour&& ls doesnotexists") + +@suite +def suite_or(test): + test("echo bonjour|| echo je") + test("echo bonjour ||echo je") + test("echo bonjour || echo je") + test("echo bonjour||") + # test("echo|| ") + # test("echo || ") + # test("echo ||") + test("||echo") + test("|| echo") + test(" || echo") + test("echo a|| echo b|| echo c|| echo d|| echo e|| echo f|| echo g|| echo h|| echo i||" + + "echo j|| echo k|| echo l|| echo m|| echo c|| echo c|| echo c|| echo c|| echo c||" + + "echo c|| echo c|| echo c|| echo v|| echo w|| echo x|| echo y|| echo z") + test("echo a || echo b|| echo c ||echo d || echo e ||echo f|| echo g ||echo h|| echo i||" + + "echo j || echo k|| echo l|| echo m|| echo c || echo c|| echo c || echo c|| echo c||" + + "echo c|| echo c || echo c|| echo v || echo w|| echo x|| echo y || echo z") + + test("ls doesnotexists || echo bonjour") + test("ls doesnotexists|| echo bonjour") + test("echo bonjour|| ls doesnotexists") + +@suite +def suite_pipe(test): + test("echo bonjour | cat") + test("echo bonjour | cat -e") + test("ls | cat -e", setup="touch a b c d; mkdir m1 m2 m3") + test("ls -l | cat -e", setup="touch a b c d; mkdir m1 m2 m3") + test("ls -l | cat -e | cat | cat | cat", setup="touch a b c d; mkdir m1 m2 m3") + test("ls -l | cat -e | cat -e | cat -e | cat -e", setup="touch a b c d; mkdir m1 m2 m3") + test("ls -l | cat -e < a", setup="touch a b c d; mkdir m1 m2 m3; echo bonjour > a") + + # TODO special test for potential segfault + # test("echo|") + # test("echo |") + # test("echo | ") + test("|cat") + test("| cat") + test(" | cat") + + test("echo a | export A=a; echo $A") + test("export A=a | cat; echo $A") + test("echo a | A=a; echo $A") + test("A=a | cat; echo $A") -- cgit