diff --git a/SprintLib/language.py b/SprintLib/language.py index bc59d62..08aec08 100644 --- a/SprintLib/language.py +++ b/SprintLib/language.py @@ -70,4 +70,13 @@ languages = [ image="swift", highlight="swift", ), + Language( + id=6, + name="Bash", + work_name="Bash", + file_type="sh", + logo_url="https://upload.wikimedia.org/wikipedia/commons/thumb/4/4b/Bash_Logo_Colored.svg/1200px-Bash_Logo_Colored.svg.png", + image="gcc", + highlight="sh", + ) ] diff --git a/SprintLib/testers/BashTester.py b/SprintLib/testers/BashTester.py new file mode 100644 index 0000000..b7fee63 --- /dev/null +++ b/SprintLib/testers/BashTester.py @@ -0,0 +1,20 @@ +from os import listdir + +from SprintLib.testers.BaseTester import BaseTester, TestException + + +class BashTester(BaseTester): + file = None + + def before_test(self): + for file in listdir(self.path): + if file == 'solution.sh': + self.call(f"chmod 777 {file}") + self.file = file + break + if self.file is None: + raise TestException("TE") + + @property + def command(self): + return f"./{self.file}" diff --git a/SprintLib/testers/__init__.py b/SprintLib/testers/__init__.py index 9d245dd..75be503 100644 --- a/SprintLib/testers/__init__.py +++ b/SprintLib/testers/__init__.py @@ -7,3 +7,4 @@ from .CSharpTester import CSharpTester from .KotlinTester import KotlinTester from .SwiftTester import SwiftTester from .DistantTester import DistantTester +from .BashTester import BashTester