diff --git a/Main/management/commands/receive.py b/Main/management/commands/receive.py index 03e325a..a602181 100644 --- a/Main/management/commands/receive.py +++ b/Main/management/commands/receive.py @@ -30,10 +30,10 @@ class Command(BaseCommand): print(e) solution.result = "TE" solution.save() - # finally: - # path = join("solutions", str(id)) - # if exists(path): - # rmtree(path) + finally: + path = join("solutions", str(id)) + if exists(path): + rmtree(path) channel.basic_consume(queue="test", on_message_callback=callback, auto_ack=True) channel.start_consuming() diff --git a/SprintLib/testers/BaseTester.py b/SprintLib/testers/BaseTester.py index 2746666..a0ccbdb 100644 --- a/SprintLib/testers/BaseTester.py +++ b/SprintLib/testers/BaseTester.py @@ -42,8 +42,11 @@ class BaseTester: if exists(join(self.path, "checker.py")): with open(join(self.path, 'expected.txt'), 'w') as fs: fs.write(self.predicted) - call(f"docker run --name solution_{self.solution.id}_checker --volume=/sprint-data/solutions/{self.solution.id}:/app -t -d python:3.6", shell=True) - code = call(f'docker exec -i solution_{self.solution.id}_checker sh -c "cd app && python checker.py"', shell=True, timeout=1) + try: + call(f"docker run --name solution_{self.solution.id}_checker --volume=/sprint-data/solutions/{self.solution.id}:/app -t -d python:3.6", shell=True) + code = call(f'docker exec -i solution_{self.solution.id}_checker sh -c "cd app && python checker.py"', shell=True, timeout=1) + finally: + call(f"docker rm --force solution_{self.solution.id}_checker", shell=True) if code != 0: raise TestException("WA") else: