From 2f7060bbfc39710db4367f31bede713a79351f02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Karlo=20Do=C5=A1ilovi=C4=87?= Date: Tue, 17 Dec 2024 19:49:24 +0100 Subject: [PATCH 1/3] Fix language change after run. --- src/judge0/submission.py | 3 ++- tests/test_submission.py | 23 ++++++++++++++++++++++- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/judge0/submission.py b/src/judge0/submission.py index 069733c..68f23a3 100644 --- a/src/judge0/submission.py +++ b/src/judge0/submission.py @@ -174,7 +174,7 @@ class Submission(BaseModel): @field_validator(*ENCODED_FIELDS, mode="before") @classmethod - def process_encoded_fields(cls, value: str) -> Optional[str]: + def process_encoded_fields(cls, value: Union[str, None]) -> Optional[str]: """Validate all encoded attributes.""" if value is None: return None @@ -271,6 +271,7 @@ def pre_execution_copy(self) -> "Submission": new_submission = Submission() for attr in REQUEST_FIELDS: setattr(new_submission, attr, copy.deepcopy(getattr(self, attr))) + new_submission.language = self.language return new_submission def __iter__(self): diff --git a/tests/test_submission.py b/tests/test_submission.py index 98903ed..02e1d65 100644 --- a/tests/test_submission.py +++ b/tests/test_submission.py @@ -1,4 +1,5 @@ -from judge0 import Status, Submission, wait +from judge0 import run, Status, Submission, wait +from judge0.base_types import LanguageAlias def test_from_json(): @@ -71,3 +72,23 @@ def test_is_done(request): wait(client=client, submissions=submission) assert submission.is_done() + + +def test_language_before_and_after_execution(request): + client = request.getfixturevalue("judge0_ce_client") + code = """\ + public class Main { + public static void main(String[] args) { + System.out.println("Hello World"); + } + } + """ + + submission = Submission( + source_code=code, + language=LanguageAlias.JAVA, + ) + + assert submission.language == LanguageAlias.JAVA + run(client=client, submissions=submission) + assert submission.language == LanguageAlias.JAVA From b9d1d2b21a75b3daab70b6089dee0d897ec8a2a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Karlo=20Do=C5=A1ilovi=C4=87?= Date: Tue, 17 Dec 2024 19:51:21 +0100 Subject: [PATCH 2/3] Minimize diff. --- src/judge0/submission.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/judge0/submission.py b/src/judge0/submission.py index 68f23a3..8e5d1cb 100644 --- a/src/judge0/submission.py +++ b/src/judge0/submission.py @@ -174,7 +174,7 @@ class Submission(BaseModel): @field_validator(*ENCODED_FIELDS, mode="before") @classmethod - def process_encoded_fields(cls, value: Union[str, None]) -> Optional[str]: + def process_encoded_fields(cls, value: str) -> Optional[str]: """Validate all encoded attributes.""" if value is None: return None From e102af6520f099d324c6e0e67a43c37a6bce391f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Karlo=20Do=C5=A1ilovi=C4=87?= Date: Tue, 17 Dec 2024 19:56:16 +0100 Subject: [PATCH 3/3] Fix test. --- tests/test_submission.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_submission.py b/tests/test_submission.py index 02e1d65..fb1bf73 100644 --- a/tests/test_submission.py +++ b/tests/test_submission.py @@ -90,5 +90,5 @@ def test_language_before_and_after_execution(request): ) assert submission.language == LanguageAlias.JAVA - run(client=client, submissions=submission) + submission = run(client=client, submissions=submission) assert submission.language == LanguageAlias.JAVA pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy