aboutsummaryrefslogtreecommitdiffstats
path: root/backend
diff options
context:
space:
mode:
authorGravatar Matteo Bertucci <[email protected]>2021-02-25 14:36:59 +0100
committerGravatar Matteo Bertucci <[email protected]>2021-02-25 14:40:47 +0100
commit99f9a0a940a91f2b9894ebf10b0359bba41d1856 (patch)
treead9a62ee6870e55dc51d62d56f93780ea33ae88b /backend
parentAdd return code 7 for processes killed by NsJail (diff)
Make use of .raise_for_status()
Co-authored-by: Hassan Abouelela <[email protected]>
Diffstat (limited to 'backend')
-rw-r--r--backend/routes/forms/unittesting.py14
1 files changed, 6 insertions, 8 deletions
diff --git a/backend/routes/forms/unittesting.py b/backend/routes/forms/unittesting.py
index 57bf5db..cc9f814 100644
--- a/backend/routes/forms/unittesting.py
+++ b/backend/routes/forms/unittesting.py
@@ -2,9 +2,9 @@ import ast
from collections import namedtuple
from itertools import count
from textwrap import indent
-from typing import Optional
import httpx
+from httpx import HTTPStatusError
from backend.constants import SNEKBOX_URL
from backend.models import FormResponse, Form
@@ -46,15 +46,13 @@ def _make_user_code(code: str) -> str:
return f'USER_CODE = r"""{code}"""'
-async def _post_eval(code: str) -> Optional[dict[str, str]]:
+async def _post_eval(code: str) -> dict[str, str]:
"""Post the eval to snekbox and return the response."""
async with httpx.AsyncClient() as client:
data = {"input": code}
response = await client.post(SNEKBOX_URL, json=data, timeout=10)
- if not response.status_code == 200:
- return
-
+ response.raise_for_status()
return response.json()
@@ -89,9 +87,9 @@ async def execute_unittest(form_response: FormResponse, form: Form) -> list[Unit
result = "Invalid generated unit code."
# The runner is correctly formatted, we can run it.
else:
- response = await _post_eval(code)
-
- if not response:
+ try:
+ response = await _post_eval(code)
+ except HTTPStatusError:
return_code = 99
result = "Unable to contact code runner."
else: