aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/test_snekbox.py80
1 files changed, 41 insertions, 39 deletions
diff --git a/tests/test_snekbox.py b/tests/test_snekbox.py
index f22e25f..addcf5d 100644
--- a/tests/test_snekbox.py
+++ b/tests/test_snekbox.py
@@ -13,45 +13,47 @@ snek = Snekbox(nsjail_binary=nsjail)
class SnekTests(unittest.TestCase):
- def test_nsjail(self):
- result = snek.python3('print("test")')
- self.assertEquals(result.strip(), 'test')
-
- def test_memory_error(self):
- code = ('x = "*"\n'
- 'while True:\n'
- ' x = x * 99\n')
-
- result = snek.python3(code)
- self.assertEquals(result.strip(), 'MemoryError')
-
- def test_timeout(self):
- code = ('x = "*"\n'
- 'while True:\n'
- ' try:\n'
- ' x = x * 99\n'
- ' except:\n'
- ' continue\n')
-
- result = snek.python3(code)
- self.assertEquals(result.strip(), 'timed out or memory limit exceeded')
-
- def test_kill(self):
- code = ('import subprocess\n'
- 'print(subprocess.check_output("kill -9 6", shell=True).decode())')
- result = snek.python3(code)
- if 'ModuleNotFoundError' in result.strip():
- self.assertIn('ModuleNotFoundError', result.strip())
- else:
- self.assertIn('returned non-zero exit status 1.', result.strip())
+ def test_nsjail(self):
+ result = snek.python3('print("test")')
+ self.assertEquals(result.strip(), 'test')
+
+ def test_memory_error(self):
+ code = ('x = "*"\n'
+ 'while True:\n'
+ ' x = x * 99\n')
+
+ result = snek.python3(code)
+ self.assertEquals(result.strip(), 'MemoryError')
+
+ def test_timeout(self):
+ code = ('x = "*"\n'
+ 'while True:\n'
+ ' try:\n'
+ ' x = x * 99\n'
+ ' except:\n'
+ ' continue\n')
+
+ result = snek.python3(code)
+ self.assertEquals(result.strip(), 'timed out or memory limit exceeded')
+
+ def test_kill(self):
+ code = ('import subprocess\n'
+ 'print(subprocess.check_output("kill -9 6", shell=True).decode())')
+ result = snek.python3(code)
+ if 'ModuleNotFoundError' in result.strip():
+ self.assertIn('ModuleNotFoundError', result.strip())
+ else:
+ self.assertIn('returned non-zero exit status 1.', result.strip())
class RMQTests(unittest.TestCase):
- def test_a_publish(self):
- message = json.dumps({"snekid": "test", "message": "print('test')"})
- result = r.publish(message)
- self.assertTrue(result)
-
- def test_b_consume(self):
- result = r.consume(callback=snek.message_handler, queue='input', run_once=True)
- self.assertEquals(result[2], b'{"snekid": "test", "message": "print(\'test\')"}')
+ @pytest.mark.dependency()
+ def test_a_publish(self):
+ message = json.dumps({"snekid": "test", "message": "print('test')"})
+ result = r.publish(message)
+ self.assertTrue(result)
+
+ @pytest.mark.dependency(depends=["RMQTests::test_a_publish"])
+ def test_b_consume(self):
+ result = r.consume(callback=snek.message_handler, queue='input', run_once=True)
+ self.assertEquals(result[2], b'{"snekid": "test", "message": "print(\'test\')"}')