From 13e45bdc0707c9183af2c94639da1d1527f8811f Mon Sep 17 00:00:00 2001 From: mishaschwartz Date: Fri, 6 Jan 2023 11:22:17 -0500 Subject: [PATCH 01/33] changelog: update [ci skip] --- Changelog.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Changelog.md b/Changelog.md index f443917e..82ea629f 100644 --- a/Changelog.md +++ b/Changelog.md @@ -2,6 +2,8 @@ All notable changes to this project will be documented here. ## [unreleased] + +## [v2.3.0] - Remove support for python3.6 and add support for python3.10 (#399) - Remove requirement to skip top level directory in zip archive when downloading test files (#412) From c1143a0e1c5fc81ad098af1abeefa16f1b955935 Mon Sep 17 00:00:00 2001 From: mishaschwartz Date: Mon, 9 Jan 2023 09:41:38 -0500 Subject: [PATCH 02/33] server: fix bug where paths were not splatted (#426) --- server/autotest_server/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/autotest_server/utils.py b/server/autotest_server/utils.py index 1bebc46e..da2dcdef 100644 --- a/server/autotest_server/utils.py +++ b/server/autotest_server/utils.py @@ -79,7 +79,7 @@ def extract_zip_stream(zip_byte_stream: bytes, destination: str) -> None: with zipfile.ZipFile(BytesIO(zip_byte_stream)) as zf: for fname in zf.namelist(): *dpaths, bname = fname.split(os.sep) - dest = os.path.join(destination, dpaths) + dest = os.path.join(destination, *dpaths) filename = os.path.join(dest, bname) if filename.endswith("/"): os.makedirs(filename, exist_ok=True) From 14add0dfe70d7c1d2ee22927ec21ec1304e587a4 Mon Sep 17 00:00:00 2001 From: mishaschwartz Date: Mon, 9 Jan 2023 10:01:40 -0500 Subject: [PATCH 03/33] Update Changelog.md --- Changelog.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Changelog.md b/Changelog.md index 82ea629f..b52377b4 100644 --- a/Changelog.md +++ b/Changelog.md @@ -2,6 +2,7 @@ All notable changes to this project will be documented here. ## [unreleased] +- Fix a bug that prevented test file from being copied from a zip file to another location on disk (#426) ## [v2.3.0] - Remove support for python3.6 and add support for python3.10 (#399) From 64bd5cdda434ed3410e1ddf1d13750673ee887f6 Mon Sep 17 00:00:00 2001 From: mishaschwartz Date: Mon, 9 Jan 2023 10:31:44 -0500 Subject: [PATCH 04/33] changelog: update [ci skip] --- Changelog.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Changelog.md b/Changelog.md index b52377b4..73043a17 100644 --- a/Changelog.md +++ b/Changelog.md @@ -2,6 +2,8 @@ All notable changes to this project will be documented here. ## [unreleased] + +## [v2.3.1] - Fix a bug that prevented test file from being copied from a zip file to another location on disk (#426) ## [v2.3.0] From f307f8522ca6655538bc3d863933b46ae5dae09f Mon Sep 17 00:00:00 2001 From: mishaschwartz Date: Fri, 17 Feb 2023 10:20:42 -0500 Subject: [PATCH 05/33] Bump pyta version to 2.4.2 (#437) --- server/autotest_server/testers/pyta/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/autotest_server/testers/pyta/requirements.txt b/server/autotest_server/testers/pyta/requirements.txt index b488e27a..1c305510 100644 --- a/server/autotest_server/testers/pyta/requirements.txt +++ b/server/autotest_server/testers/pyta/requirements.txt @@ -1,3 +1,3 @@ python-ta==1.4.2;python_version<"3.8" -python-ta==2.3.2; python_version>="3.8" +python-ta==2.4.2; python_version>="3.8" isort<5;python_version<"3.8" From ffa4902899d0082760b5c96f21c70aca0a28bbb6 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 9 Aug 2023 08:41:22 -0400 Subject: [PATCH 06/33] [pre-commit.ci] pre-commit autoupdate (#436) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [pre-commit.ci] pre-commit autoupdate updates: - [github.com/psf/black: 22.12.0 → 23.7.0](https://github.com/psf/black/compare/22.12.0...23.7.0) - [github.com/pycqa/flake8: 6.0.0 → 6.1.0](https://github.com/pycqa/flake8/compare/6.0.0...6.1.0) * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 4 ++-- server/autotest_server/config.py | 1 - server/autotest_server/testers/java/java_tester.py | 1 - server/autotest_server/testers/py/lib/sql_helper.py | 1 - server/autotest_server/testers/pyta/pyta_tester.py | 1 - server/autotest_server/testers/racket/racket_tester.py | 1 - 6 files changed, 2 insertions(+), 7 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 14e81ed0..15a840b0 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,9 +1,9 @@ repos: - repo: https://github.com/psf/black - rev: 22.12.0 + rev: 23.7.0 hooks: - id: black - repo: https://github.com/pycqa/flake8 - rev: 6.0.0 + rev: 6.1.0 hooks: - id: flake8 \ No newline at end of file diff --git a/server/autotest_server/config.py b/server/autotest_server/config.py index c6893cf8..6a4a6ee6 100644 --- a/server/autotest_server/config.py +++ b/server/autotest_server/config.py @@ -14,7 +14,6 @@ class _Config: - _replacement_pattern: ClassVar[Pattern] = re.compile(r".*?\${(\w+)}.*?") _not_found_key: ClassVar[str] = "" diff --git a/server/autotest_server/testers/java/java_tester.py b/server/autotest_server/testers/java/java_tester.py index 9222dff8..8b753d20 100644 --- a/server/autotest_server/testers/java/java_tester.py +++ b/server/autotest_server/testers/java/java_tester.py @@ -30,7 +30,6 @@ def run(self): class JavaTester(Tester): - JUNIT_TESTER_JAR = os.path.join(os.path.dirname(__file__), "lib", "junit-platform-console-standalone.jar") JUNIT_JUPITER_RESULT = "TEST-junit-jupiter.xml" JUNIT_VINTAGE_RESULT = "TEST-junit-vintage.xml" diff --git a/server/autotest_server/testers/py/lib/sql_helper.py b/server/autotest_server/testers/py/lib/sql_helper.py index b664d029..70f69fe9 100644 --- a/server/autotest_server/testers/py/lib/sql_helper.py +++ b/server/autotest_server/testers/py/lib/sql_helper.py @@ -144,7 +144,6 @@ def execute_psql_file( class PSQLTest: - connection: ClassVar[Optional[ConnectionType]] = None SCHEMA_COPY_STR = """ diff --git a/server/autotest_server/testers/pyta/pyta_tester.py b/server/autotest_server/testers/pyta/pyta_tester.py index 584e5a4b..767f9f57 100644 --- a/server/autotest_server/testers/pyta/pyta_tester.py +++ b/server/autotest_server/testers/pyta/pyta_tester.py @@ -14,7 +14,6 @@ class PytaReporter(python_ta.reporters.json_reporter.JSONReporter, python_ta.rep class PytaTest(Test): - ERROR_MSGS = {"reported": "{} error(s)"} def __init__( diff --git a/server/autotest_server/testers/racket/racket_tester.py b/server/autotest_server/testers/racket/racket_tester.py index d579baa6..fc844923 100644 --- a/server/autotest_server/testers/racket/racket_tester.py +++ b/server/autotest_server/testers/racket/racket_tester.py @@ -36,7 +36,6 @@ def run(self) -> str: class RacketTester(Tester): - ERROR_MSGS = {"bad_json": "Unable to parse test results: {}"} def __init__(self, specs, test_class: Type[RacketTest] = RacketTest) -> None: From 2e03c4be9c82df96bc3ce8ed7b0761507f618884 Mon Sep 17 00:00:00 2001 From: David Liu Date: Fri, 11 Aug 2023 16:37:33 -0400 Subject: [PATCH 07/33] Update docker-compose.yml network settings (#449) --- docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 88b76836..49ffa6b2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -77,5 +77,5 @@ volumes: networks: markus_dev: - external: - name: markus_dev + name: markus_dev + external: true From c31b50f068dd3cddb9047c6702847a22684a0181 Mon Sep 17 00:00:00 2001 From: David Liu Date: Wed, 20 Sep 2023 19:13:22 -0400 Subject: [PATCH 08/33] Java tester: Fix handling of test failures/errors (#451) --- server/autotest_server/testers/java/java_tester.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/server/autotest_server/testers/java/java_tester.py b/server/autotest_server/testers/java/java_tester.py index 8b753d20..247fd919 100644 --- a/server/autotest_server/testers/java/java_tester.py +++ b/server/autotest_server/testers/java/java_tester.py @@ -69,15 +69,15 @@ def _parse_failure_error(self, failure, error): an error and failure are present, the message includes information for both. """ result = {} - if failure and error: + if failure is not None and error is not None: failure_message = self._parse_failure_error(failure, None)["message"] error_message = self._parse_failure_error(None, error)["message"] result["status"] = "error" result["message"] = "\n\n".join([error_message, failure_message]) - elif failure: + elif failure is not None: result["status"] = "failure" result["message"] = f'{failure.attrib.get("type", "")}: {failure.attrib.get("message", "")}' - elif error: + elif error is not None: result["status"] = "error" result["message"] = f'{error.attrib.get("type", "")}: {error.attrib.get("message", "")}' return result From 35335ac31431d93017db8f81ce1930855221563e Mon Sep 17 00:00:00 2001 From: Samuel Maldonado Date: Thu, 21 Sep 2023 20:18:21 -0400 Subject: [PATCH 09/33] bump python-ta to latest (#452) --- server/autotest_server/testers/pyta/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/autotest_server/testers/pyta/requirements.txt b/server/autotest_server/testers/pyta/requirements.txt index 1c305510..98e77cad 100644 --- a/server/autotest_server/testers/pyta/requirements.txt +++ b/server/autotest_server/testers/pyta/requirements.txt @@ -1,3 +1,3 @@ python-ta==1.4.2;python_version<"3.8" -python-ta==2.4.2; python_version>="3.8" +python-ta==2.6.1; python_version>="3.8" isort<5;python_version<"3.8" From 72de98bd5b2c7a8e2dd2178fe695be6e8d68a07f Mon Sep 17 00:00:00 2001 From: Samuel Maldonado Date: Fri, 29 Sep 2023 14:52:20 -0400 Subject: [PATCH 10/33] bump python-ta to 2.6.2 (#454) --- server/autotest_server/testers/pyta/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/autotest_server/testers/pyta/requirements.txt b/server/autotest_server/testers/pyta/requirements.txt index 98e77cad..af37c046 100644 --- a/server/autotest_server/testers/pyta/requirements.txt +++ b/server/autotest_server/testers/pyta/requirements.txt @@ -1,3 +1,3 @@ python-ta==1.4.2;python_version<"3.8" -python-ta==2.6.1; python_version>="3.8" +python-ta==2.6.2; python_version>="3.8" isort<5;python_version<"3.8" From 10165e75a6a59f8fe69d0198a8668597ca86af3d Mon Sep 17 00:00:00 2001 From: Samuel Maldonado Date: Mon, 6 Nov 2023 10:38:33 -0500 Subject: [PATCH 11/33] pin Werkzeug==2.3.7 (#457) * pin Werkzeug==2.3.7 * pin Werkzeug to 2.2.3 for python<3.8 --- client/requirements.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/client/requirements.txt b/client/requirements.txt index 2b044f9c..e060de23 100644 --- a/client/requirements.txt +++ b/client/requirements.txt @@ -3,3 +3,5 @@ python-dotenv==0.21.0 rq==1.11.1 redis==4.3.4 jsonschema==4.16.0 +Werkzeug==2.2.3;python_version<"3.8" +Werkzeug==2.3.7;python_version>="3.8" From cffe76e907e95e5303bcf8c02f9e125899ebf64f Mon Sep 17 00:00:00 2001 From: donny-wong <141858744+donny-wong@users.noreply.github.com> Date: Mon, 6 Nov 2023 11:11:54 -0500 Subject: [PATCH 12/33] updated to python-ta v2.6.3 (#456) Co-authored-by: Donny Wong --- server/autotest_server/testers/pyta/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/autotest_server/testers/pyta/requirements.txt b/server/autotest_server/testers/pyta/requirements.txt index af37c046..859b00b0 100644 --- a/server/autotest_server/testers/pyta/requirements.txt +++ b/server/autotest_server/testers/pyta/requirements.txt @@ -1,3 +1,3 @@ python-ta==1.4.2;python_version<"3.8" -python-ta==2.6.2; python_version>="3.8" +python-ta==2.6.3; python_version>="3.8" isort<5;python_version<"3.8" From 228034bb582ab24a8f25852b5f3e431e05d76e58 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 28 Nov 2023 11:12:09 -0500 Subject: [PATCH 13/33] [pre-commit.ci] pre-commit autoupdate (#450) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/psf/black: 23.7.0 → 23.11.0](https://github.com/psf/black/compare/23.7.0...23.11.0) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 15a840b0..5b862435 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/psf/black - rev: 23.7.0 + rev: 23.11.0 hooks: - id: black - repo: https://github.com/pycqa/flake8 From 5a77e1db0b7934e77f1e7a4959f89f2f26a9b10b Mon Sep 17 00:00:00 2001 From: David Liu Date: Thu, 14 Dec 2023 13:19:51 -0500 Subject: [PATCH 14/33] Ensure test results are reported when feedback files are missing AB#118 (#459) * Ensure test results are reported when feedback files are missing * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- Changelog.md | 2 ++ server/autotest_server/__init__.py | 14 +++++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/Changelog.md b/Changelog.md index 73043a17..6a248b5a 100644 --- a/Changelog.md +++ b/Changelog.md @@ -3,6 +3,8 @@ All notable changes to this project will be documented here. ## [unreleased] +- Fix bug that prevented test results from being returned when a feedback file could not be found (#458) + ## [v2.3.1] - Fix a bug that prevented test file from being copied from a zip file to another location on disk (#426) diff --git a/server/autotest_server/__init__.py b/server/autotest_server/__init__.py index 7bf2a676..2d9e6816 100644 --- a/server/autotest_server/__init__.py +++ b/server/autotest_server/__init__.py @@ -1,3 +1,4 @@ +from __future__ import annotations import os import sys import shutil @@ -134,9 +135,9 @@ def _get_env_vars(test_username: str) -> Dict[str, str]: return env_vars -def _get_feedback(test_data, tests_path, test_id): +def _get_feedback(test_data, tests_path, test_id) -> tuple[dict, str]: feedback_files = test_data.get("feedback_file_names", []) - feedback = [] + feedback, feedback_errors = [], [] for feedback_file in feedback_files: feedback_path = os.path.join(tests_path, feedback_file) if os.path.isfile(feedback_path): @@ -155,8 +156,8 @@ def _get_feedback(test_data, tests_path, test_id): } ) else: - raise Exception(f"Cannot find feedback file at '{feedback_path}'.") - return feedback + feedback_errors.append(feedback_file) + return feedback, feedback_errors def _update_env_vars(base_env: Dict, test_env: Dict) -> Dict: @@ -233,7 +234,10 @@ def _run_test_specs( finally: duration = int(round(time.time() - start, 3) * 1000) extra_info = test_data.get("extra_info", {}) - feedback = _get_feedback(test_data, tests_path, test_id) + feedback, feedback_errors = _get_feedback(test_data, tests_path, test_id) + if feedback_errors: + msg = "Cannot find feedback file(s): " + ", ".join(feedback_errors) + err = err + "\n\n" + msg if err else msg results.append(_create_test_group_result(out, err, duration, extra_info, feedback, timeout_expired)) return results From 789aa413ec2f716d64e5d188f8c88ee701687016 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Dec 2023 16:20:52 +0000 Subject: [PATCH 15/33] build(deps): bump redis from 4.3.4 to 5.0.1 (#446) * build(deps): bump redis from 4.3.4 to 4.4.4 Bumps [redis](https://github.com/redis/redis-py) from 4.3.4 to 5.0.1. - [Release notes](https://github.com/redis/redis-py/releases) - [Changelog](https://github.com/redis/redis-py/blob/master/CHANGES) - [Commits](https://github.com/redis/redis-py/compare/v4.3.4...v5.0.1) --- updated-dependencies: - dependency-name: redis dependency-type: direct:production ... Signed-off-by: dependabot[bot] --------- Co-authored-by: David Liu --- client/requirements.txt | 2 +- server/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/client/requirements.txt b/client/requirements.txt index e060de23..093f927d 100644 --- a/client/requirements.txt +++ b/client/requirements.txt @@ -1,7 +1,7 @@ flask==2.2.2 python-dotenv==0.21.0 rq==1.11.1 -redis==4.3.4 +redis==5.0.1 jsonschema==4.16.0 Werkzeug==2.2.3;python_version<"3.8" Werkzeug==2.3.7;python_version>="3.8" diff --git a/server/requirements.txt b/server/requirements.txt index ddb1693a..506ac77f 100644 --- a/server/requirements.txt +++ b/server/requirements.txt @@ -1,6 +1,6 @@ rq==1.11.1 click==8.1.3 -redis==4.3.4 +redis==5.0.1 pyyaml==6.0 jsonschema==4.16.0 requests==2.28.1 From b1b73210276cabac4aed11e38ab71df47a5d6152 Mon Sep 17 00:00:00 2001 From: David Liu Date: Mon, 18 Dec 2023 12:12:54 -0500 Subject: [PATCH 16/33] Bump jsonschema to 4.20.0 (#463) --- client/requirements.txt | 3 ++- server/requirements.txt | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/client/requirements.txt b/client/requirements.txt index 093f927d..210b15a8 100644 --- a/client/requirements.txt +++ b/client/requirements.txt @@ -2,6 +2,7 @@ flask==2.2.2 python-dotenv==0.21.0 rq==1.11.1 redis==5.0.1 -jsonschema==4.16.0 +jsonschema==4.17.3;python_version<"3.8" +jsonschema==4.20.0;python_version>="3.8" Werkzeug==2.2.3;python_version<"3.8" Werkzeug==2.3.7;python_version>="3.8" diff --git a/server/requirements.txt b/server/requirements.txt index 506ac77f..f99d9508 100644 --- a/server/requirements.txt +++ b/server/requirements.txt @@ -2,7 +2,8 @@ rq==1.11.1 click==8.1.3 redis==5.0.1 pyyaml==6.0 -jsonschema==4.16.0 +jsonschema==4.17.3;python_version<"3.8" +jsonschema==4.20.0;python_version>="3.8" requests==2.28.1 psycopg2-binary==2.9.5 supervisor==4.2.4 From 8a66df74e0b32d644826b825f0039eb1a4e3285b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Dec 2023 17:33:18 +0000 Subject: [PATCH 17/33] build(deps): bump flask from 2.2.2 to 2.3.3 and werkzeug from 2.3.7 to 2.3.8 in /client (#460) Co-authored-by: David Liu --- client/requirements.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/client/requirements.txt b/client/requirements.txt index 210b15a8..551e8c2d 100644 --- a/client/requirements.txt +++ b/client/requirements.txt @@ -1,8 +1,9 @@ -flask==2.2.2 +flask==2.2.5;python_version<"3.8" +flask==2.3.3;python_version>="3.8" python-dotenv==0.21.0 rq==1.11.1 redis==5.0.1 jsonschema==4.17.3;python_version<"3.8" jsonschema==4.20.0;python_version>="3.8" Werkzeug==2.2.3;python_version<"3.8" -Werkzeug==2.3.7;python_version>="3.8" +Werkzeug==2.3.8;python_version>="3.8" From 1ce6b40a4daa190fa665c6dee4b23bc8eb8d5013 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Dec 2023 18:39:56 +0000 Subject: [PATCH 18/33] build(deps): bump requests from 2.28.1 to 2.31.0 in /server (#461) Bumps [requests](https://github.com/psf/requests) from 2.28.1 to 2.31.0. - [Release notes](https://github.com/psf/requests/releases) - [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md) - [Commits](https://github.com/psf/requests/compare/v2.28.1...v2.31.0) --- updated-dependencies: - dependency-name: requests dependency-type: direct:production ... --- server/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/requirements.txt b/server/requirements.txt index f99d9508..02c3071b 100644 --- a/server/requirements.txt +++ b/server/requirements.txt @@ -4,6 +4,6 @@ redis==5.0.1 pyyaml==6.0 jsonschema==4.17.3;python_version<"3.8" jsonschema==4.20.0;python_version>="3.8" -requests==2.28.1 +requests==2.31.0 psycopg2-binary==2.9.5 supervisor==4.2.4 From 541206b08d9c38393cd6eab4c018aa3f1d1b0724 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 18 Dec 2023 22:17:01 +0000 Subject: [PATCH 19/33] [pre-commit.ci] pre-commit autoupdate (#464) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/psf/black: 23.11.0 → 23.12.0](https://github.com/psf/black/compare/23.11.0...23.12.0) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 5b862435..33f12244 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/psf/black - rev: 23.11.0 + rev: 23.12.0 hooks: - id: black - repo: https://github.com/pycqa/flake8 From 35ed84e425d5d0d7f91afb8a28fa66a34ac0e838 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Dec 2023 22:27:35 +0000 Subject: [PATCH 20/33] build(deps): bump supervisor from 4.2.4 to 4.2.5 in /server (#422) Bumps [supervisor](https://github.com/Supervisor/supervisor) from 4.2.4 to 4.2.5. - [Release notes](https://github.com/Supervisor/supervisor/releases) - [Changelog](https://github.com/Supervisor/supervisor/blob/main/CHANGES.rst) - [Commits](https://github.com/Supervisor/supervisor/compare/4.2.4...4.2.5) --- updated-dependencies: - dependency-name: supervisor dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- server/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/requirements.txt b/server/requirements.txt index 02c3071b..152334a8 100644 --- a/server/requirements.txt +++ b/server/requirements.txt @@ -6,4 +6,4 @@ jsonschema==4.17.3;python_version<"3.8" jsonschema==4.20.0;python_version>="3.8" requests==2.31.0 psycopg2-binary==2.9.5 -supervisor==4.2.4 +supervisor==4.2.5 From 7afe449de14749392a83b7bee86dfba58a76c768 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 20 Dec 2023 16:59:42 +0000 Subject: [PATCH 21/33] build(deps): bump python-dotenv from 0.21.0 to 1.0.0 in /client (#441) Bumps [python-dotenv](https://github.com/theskumar/python-dotenv) from 0.21.0 to 1.0.0. - [Release notes](https://github.com/theskumar/python-dotenv/releases) - [Changelog](https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md) - [Commits](https://github.com/theskumar/python-dotenv/compare/v0.21.0...v1.0.0) --- updated-dependencies: - dependency-name: python-dotenv dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- client/requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/client/requirements.txt b/client/requirements.txt index 551e8c2d..575a34fd 100644 --- a/client/requirements.txt +++ b/client/requirements.txt @@ -1,6 +1,7 @@ flask==2.2.5;python_version<"3.8" flask==2.3.3;python_version>="3.8" -python-dotenv==0.21.0 +python-dotenv==0.21.1;python_version<"3.8" +python-dotenv==1.0.0;python_version>="3.8" rq==1.11.1 redis==5.0.1 jsonschema==4.17.3;python_version<"3.8" From ff2fbf9c47ce4905b4b0be1573ce9e7bb7bc360f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 20 Dec 2023 20:33:10 +0000 Subject: [PATCH 22/33] build(deps): bump rq from 1.11.1 to 1.15.1 in /server (#466) Bumps [rq](https://github.com/nvie/rq) from 1.11.1 to 1.15.1. - [Release notes](https://github.com/nvie/rq/releases) - [Changelog](https://github.com/rq/rq/blob/master/CHANGES.md) - [Commits](https://github.com/nvie/rq/compare/v1.11.1...v1.15.1) --- updated-dependencies: - dependency-name: rq dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- server/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/requirements.txt b/server/requirements.txt index 152334a8..68b593e1 100644 --- a/server/requirements.txt +++ b/server/requirements.txt @@ -1,4 +1,4 @@ -rq==1.11.1 +rq==1.15.1 click==8.1.3 redis==5.0.1 pyyaml==6.0 From aadfd51c865c1852411672fde7dfc38a14b4a198 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 20 Dec 2023 20:33:24 +0000 Subject: [PATCH 23/33] build(deps): bump rq from 1.11.1 to 1.15.1 in /client (#465) Bumps [rq](https://github.com/nvie/rq) from 1.11.1 to 1.15.1. - [Release notes](https://github.com/nvie/rq/releases) - [Changelog](https://github.com/rq/rq/blob/master/CHANGES.md) - [Commits](https://github.com/nvie/rq/compare/v1.11.1...v1.15.1) --- updated-dependencies: - dependency-name: rq dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- client/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/requirements.txt b/client/requirements.txt index 575a34fd..70902c1a 100644 --- a/client/requirements.txt +++ b/client/requirements.txt @@ -2,7 +2,7 @@ flask==2.2.5;python_version<"3.8" flask==2.3.3;python_version>="3.8" python-dotenv==0.21.1;python_version<"3.8" python-dotenv==1.0.0;python_version>="3.8" -rq==1.11.1 +rq==1.15.1 redis==5.0.1 jsonschema==4.17.3;python_version<"3.8" jsonschema==4.20.0;python_version>="3.8" From 4e1896d87e47465f8c73194299fbbba6b3c0f4a9 Mon Sep 17 00:00:00 2001 From: David Liu Date: Wed, 20 Dec 2023 21:13:37 -0500 Subject: [PATCH 24/33] Update docker images to use Python 3.11 and include Python 3.12 --- .github/workflows/test_ci.yml | 2 ++ Changelog.md | 1 + README.md | 2 +- client/.dockerfiles/Dockerfile | 7 +++++-- server/.dockerfiles/Dockerfile | 6 +++++- 5 files changed, 14 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test_ci.yml b/.github/workflows/test_ci.yml index 693a9017..93d972e7 100644 --- a/.github/workflows/test_ci.yml +++ b/.github/workflows/test_ci.yml @@ -13,6 +13,8 @@ jobs: - 3.8 - 3.9 - '3.10' + - 3.11 + - 3.12 test-dir: - client - server diff --git a/Changelog.md b/Changelog.md index 6a248b5a..a1ea8152 100644 --- a/Changelog.md +++ b/Changelog.md @@ -4,6 +4,7 @@ All notable changes to this project will be documented here. ## [unreleased] - Fix bug that prevented test results from being returned when a feedback file could not be found (#458) +- Add support for Python 3.11 and 3.12 (#467) ## [v2.3.1] - Fix a bug that prevented test file from being copied from a zip file to another location on disk (#426) diff --git a/README.md b/README.md index b20f5380..2486b0a7 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ Both the autotester and the API are designed to be run on Ubuntu 20.04 (or suffi 6. [Configure the autotester](#autotester-configuration-options) 7. Optionally install additional python versions. - The `py` (python3) and `pyta` testers can be run using any version of python between versions 3.7 and 3.10. When + The `py` (python3) and `pyta` testers can be run using any version of python between versions 3.7 and 3.12. When these testers are installed the autotester will search the PATH for available python executables. If you want users to be able to run tests with a specific python version, ensure that it is visible in the PATH of both the user running the autotester and all users who run tests. diff --git a/client/.dockerfiles/Dockerfile b/client/.dockerfiles/Dockerfile index e6815ade..ed3a0839 100644 --- a/client/.dockerfiles/Dockerfile +++ b/client/.dockerfiles/Dockerfile @@ -2,11 +2,14 @@ ARG UBUNTU_VERSION FROM ubuntu:$UBUNTU_VERSION -RUN apt-get update -y && apt-get install -y python3 python3-venv +RUN apt-get update -y && \ + apt-get -y install software-properties-common && \ + add-apt-repository -y ppa:deadsnakes/ppa && \ + apt-get install -y python3.11 python3.11-venv COPY ./requirements.txt /requirements.txt -RUN python3 -m venv /markus_venv && \ +RUN python3.11 -m venv /markus_venv && \ /markus_venv/bin/pip install wheel && \ /markus_venv/bin/pip install -r /requirements.txt diff --git a/server/.dockerfiles/Dockerfile b/server/.dockerfiles/Dockerfile index 315b3aea..652ca6ac 100644 --- a/server/.dockerfiles/Dockerfile +++ b/server/.dockerfiles/Dockerfile @@ -18,6 +18,10 @@ RUN apt-get update -y && \ python3.9-venv \ python3.10 \ python3.10-venv \ + python3.11 \ + python3.11-venv \ + python3.12 \ + python3.12-venv \ redis-server \ postgresql-client \ libpq-dev \ @@ -34,7 +38,7 @@ RUN useradd -ms /bin/bash $LOGIN_USER && \ COPY . /app -RUN python3.10 -m venv /markus_venv && \ +RUN python3.11 -m venv /markus_venv && \ /markus_venv/bin/pip install wheel && \ /markus_venv/bin/pip install -r /app/requirements.txt && \ find /app/autotest_server/testers -name requirements.system -exec {} \; && \ From fc2d40bc4bd453c4879108941048261eae7fff3c Mon Sep 17 00:00:00 2001 From: David Liu Date: Wed, 20 Dec 2023 21:22:29 -0500 Subject: [PATCH 25/33] Bump pyyaml from 6.0.0 to 6.0.1 --- server/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/requirements.txt b/server/requirements.txt index 68b593e1..e9764137 100644 --- a/server/requirements.txt +++ b/server/requirements.txt @@ -1,7 +1,7 @@ rq==1.15.1 click==8.1.3 redis==5.0.1 -pyyaml==6.0 +pyyaml==6.0.1 jsonschema==4.17.3;python_version<"3.8" jsonschema==4.20.0;python_version>="3.8" requests==2.31.0 From 73cf25d7fbf9702034023edfdc62eb6fbfe8ae7e Mon Sep 17 00:00:00 2001 From: David Liu Date: Thu, 21 Dec 2023 18:03:41 -0500 Subject: [PATCH 26/33] Track test environment setup in redis (#468) --- Changelog.md | 1 + client/autotest_client/__init__.py | 13 ++++++++++++- server/autotest_server/__init__.py | 12 ++++++++++-- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/Changelog.md b/Changelog.md index a1ea8152..0a66ac87 100644 --- a/Changelog.md +++ b/Changelog.md @@ -5,6 +5,7 @@ All notable changes to this project will be documented here. - Fix bug that prevented test results from being returned when a feedback file could not be found (#458) - Add support for Python 3.11 and 3.12 (#467) +- Track test environment setup status and report errors when running tests if environment setup is in progress or raised an error (#468) ## [v2.3.1] - Fix a bug that prevented test file from being copied from a zip file to another location on disk (#426) diff --git a/client/autotest_client/__init__.py b/client/autotest_client/__init__.py index 5ac845fe..dc2ea3a8 100644 --- a/client/autotest_client/__init__.py +++ b/client/autotest_client/__init__.py @@ -213,6 +213,17 @@ def update_settings(settings_id, user): @app.route("/settings//test", methods=["PUT"]) @authorize def run_tests(settings_id, user): + test_settings = json.loads(REDIS_CONNECTION.hget("autotest:settings", key=settings_id)) + env_status = test_settings.get("_env_status") + if env_status == "setup": + raise Exception("Setting up test environment. Please try again later.") + elif env_status == "error": + msg = "Settings Error" + settings_error = test_settings.get("_error", "") + if settings_error: + msg += f": {settings_error}" + raise Exception(msg) + test_data = request.json["test_data"] categories = request.json["categories"] high_priority = request.json.get("request_high_priority") @@ -221,7 +232,7 @@ def run_tests(settings_id, user): timeout = 0 - for settings_ in settings(settings_id)["testers"]: + for settings_ in test_settings["testers"]: for data in settings_["test_data"]: timeout += data["timeout"] diff --git a/server/autotest_server/__init__.py b/server/autotest_server/__init__.py index 2d9e6816..4d067f9b 100644 --- a/server/autotest_server/__init__.py +++ b/server/autotest_server/__init__.py @@ -204,7 +204,8 @@ def _run_test_specs( timeout_expired = None timeout = test_data.get("timeout") try: - env_vars = {**os.environ, **_get_env_vars(test_username), **settings["_env"]} + env = settings.get("_env", {}) + env_vars = {**os.environ, **_get_env_vars(test_username), **env} env_vars = _update_env_vars(env_vars, test_env_vars) proc = subprocess.Popen( args, @@ -216,7 +217,7 @@ def _run_test_specs( stdin=subprocess.PIPE, preexec_fn=set_rlimits_before_test, universal_newlines=True, - env={**os.environ, **env_vars, **settings["_env"]}, + env={**os.environ, **env_vars, **env}, ) try: settings_json = json.dumps({**settings, "test_data": test_data}) @@ -359,6 +360,11 @@ def ignore_missing_dir_error( def update_test_settings(user, settings_id, test_settings, file_url): + test_settings["_user"] = user + test_settings["_last_access"] = int(time.time()) + test_settings["_env_status"] = "setup" + redis_connection().hset("autotest:settings", key=settings_id, value=json.dumps(test_settings)) + try: settings_dir = os.path.join(TEST_SCRIPT_DIR, str(settings_id)) @@ -391,8 +397,10 @@ def update_test_settings(user, settings_id, test_settings, file_url): test_settings["testers"][i] = tester_settings test_settings["_files"] = files_dir test_settings.pop("_error", None) + test_settings["_env_status"] = "ready" except Exception as e: test_settings["_error"] = str(e) + test_settings["_env_status"] = "error" raise finally: test_settings["_user"] = user From 9c92f8357ffd9b8b013f144a2bd5adfe51452d11 Mon Sep 17 00:00:00 2001 From: David Liu Date: Thu, 21 Dec 2023 19:32:18 -0500 Subject: [PATCH 27/33] Update Haskell tester to use Stack (#469) --- Changelog.md | 1 + .../testers/haskell/haskell_tester.py | 20 ++++++++++++++++--- .../testers/haskell/requirements.system | 9 +++------ .../autotest_server/testers/haskell/setup.py | 7 +++++++ 4 files changed, 28 insertions(+), 9 deletions(-) diff --git a/Changelog.md b/Changelog.md index 0a66ac87..e53d823a 100644 --- a/Changelog.md +++ b/Changelog.md @@ -6,6 +6,7 @@ All notable changes to this project will be documented here. - Fix bug that prevented test results from being returned when a feedback file could not be found (#458) - Add support for Python 3.11 and 3.12 (#467) - Track test environment setup status and report errors when running tests if environment setup is in progress or raised an error (#468) +- Update Haskell tester to use [Stack](https://docs.haskellstack.org/en/stable/) to install dependencies (#469) ## [v2.3.1] - Fix a bug that prevented test file from being copied from a zip file to another location on disk (#426) diff --git a/server/autotest_server/testers/haskell/haskell_tester.py b/server/autotest_server/testers/haskell/haskell_tester.py index 6ab9c7d3..572f2841 100644 --- a/server/autotest_server/testers/haskell/haskell_tester.py +++ b/server/autotest_server/testers/haskell/haskell_tester.py @@ -7,6 +7,8 @@ from ..tester import Tester, Test, TestError from ..specs import TestSpecs +STACK_OPTIONS = ["--resolver=lts-14.27", "--system-ghc", "--allow-different-user"] + class HaskellTest(Test): def __init__( @@ -104,11 +106,23 @@ def run_haskell_tests(self) -> Dict[str, List[Dict[str, Union[int, str]]]]: haskell_lib = os.path.join(os.path.dirname(os.path.realpath(__file__)), "lib") for test_file in self.specs["test_data", "script_files"]: with tempfile.NamedTemporaryFile(dir=this_dir) as f: - cmd = ["tasty-discover", ".", "_", f.name] + self._test_run_flags(test_file) + cmd = [ + "stack", + "exec", + *STACK_OPTIONS, + "--", + "tasty-discover", + ".", + "_", + f.name, + *self._test_run_flags(test_file), + ] subprocess.run(cmd, stdout=subprocess.DEVNULL, universal_newlines=True, check=True) with tempfile.NamedTemporaryFile(mode="w+", dir=this_dir) as sf: - cmd = ["runghc", "--", f"-i={haskell_lib}", f.name, f"--stats={sf.name}"] - subprocess.run(cmd, stdout=subprocess.DEVNULL, stderr=subprocess.PIPE, universal_newlines=True) + cmd = ["stack", "runghc", *STACK_OPTIONS, "--", f"-i={haskell_lib}", f.name, f"--stats={sf.name}"] + subprocess.run( + cmd, stdout=subprocess.DEVNULL, stderr=subprocess.PIPE, universal_newlines=True, check=True + ) results[test_file] = self._parse_test_results(csv.reader(sf)) return results diff --git a/server/autotest_server/testers/haskell/requirements.system b/server/autotest_server/testers/haskell/requirements.system index b809b73a..341699d1 100755 --- a/server/autotest_server/testers/haskell/requirements.system +++ b/server/autotest_server/testers/haskell/requirements.system @@ -1,11 +1,8 @@ #!/usr/bin/env bash -if ! dpkg -l ghc cabal-install &> /dev/null; then +if ! dpkg -l ghc cabal-install haskell-stack &> /dev/null; then apt-get -y update - DEBIAN_FRONTEND=noninteractive apt-get install -y -o 'Dpkg::Options::=--force-confdef' -o 'Dpkg::Options::=--force-confold' ghc cabal-install + DEBIAN_FRONTEND=noninteractive apt-get install -y -o 'Dpkg::Options::=--force-confdef' -o 'Dpkg::Options::=--force-confold' ghc cabal-install haskell-stack fi -# TODO: install these without cabal so they can be properly isolated/uninstalled -cabal update -ghc-pkg describe tasty-discover &>/dev/null || cabal install tasty-discover --global -ghc-pkg describe tasty-quickcheck &>/dev/null || cabal install tasty-quickcheck --global +stack update diff --git a/server/autotest_server/testers/haskell/setup.py b/server/autotest_server/testers/haskell/setup.py index 72f1889d..2cbcdb65 100644 --- a/server/autotest_server/testers/haskell/setup.py +++ b/server/autotest_server/testers/haskell/setup.py @@ -3,7 +3,14 @@ import subprocess +HASKELL_TEST_DEPS = ["tasty-discover", "tasty-quickcheck"] + + def create_environment(_settings, _env_dir, default_env_dir): + resolver = "lts-14.27" + cmd = ["stack", "build", "--resolver", resolver, "--system-ghc", *HASKELL_TEST_DEPS] + subprocess.run(cmd, check=True) + return {"PYTHON": os.path.join(default_env_dir, "bin", "python3")} From 2334b2f966f5b91439c529fbd61776652a61a20a Mon Sep 17 00:00:00 2001 From: David Liu Date: Thu, 21 Dec 2023 19:53:00 -0500 Subject: [PATCH 28/33] Ensure that Python 3.11 and Python 3.12 are available to Python/PyTA/Jupyter testers (#470) --- server/autotest_server/testers/jupyter/setup.py | 2 +- server/autotest_server/testers/py/setup.py | 2 +- server/autotest_server/testers/pyta/setup.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/server/autotest_server/testers/jupyter/setup.py b/server/autotest_server/testers/jupyter/setup.py index b95cf1e0..4df657f0 100644 --- a/server/autotest_server/testers/jupyter/setup.py +++ b/server/autotest_server/testers/jupyter/setup.py @@ -18,7 +18,7 @@ def create_environment(settings_, env_dir, _default_env_dir): def settings(): with open(os.path.join(os.path.dirname(os.path.realpath(__file__)), "settings_schema.json")) as f: settings_ = json.load(f) - py_versions = [f"3.{x}" for x in range(7, 11) if shutil.which(f"python3.{x}")] + py_versions = [f"3.{x}" for x in range(7, 13) if shutil.which(f"python3.{x}")] python_versions = settings_["properties"]["env_data"]["properties"]["python_version"] python_versions["enum"] = py_versions python_versions["default"] = py_versions[-1] diff --git a/server/autotest_server/testers/py/setup.py b/server/autotest_server/testers/py/setup.py index b95cf1e0..4df657f0 100644 --- a/server/autotest_server/testers/py/setup.py +++ b/server/autotest_server/testers/py/setup.py @@ -18,7 +18,7 @@ def create_environment(settings_, env_dir, _default_env_dir): def settings(): with open(os.path.join(os.path.dirname(os.path.realpath(__file__)), "settings_schema.json")) as f: settings_ = json.load(f) - py_versions = [f"3.{x}" for x in range(7, 11) if shutil.which(f"python3.{x}")] + py_versions = [f"3.{x}" for x in range(7, 13) if shutil.which(f"python3.{x}")] python_versions = settings_["properties"]["env_data"]["properties"]["python_version"] python_versions["enum"] = py_versions python_versions["default"] = py_versions[-1] diff --git a/server/autotest_server/testers/pyta/setup.py b/server/autotest_server/testers/pyta/setup.py index b95cf1e0..4df657f0 100644 --- a/server/autotest_server/testers/pyta/setup.py +++ b/server/autotest_server/testers/pyta/setup.py @@ -18,7 +18,7 @@ def create_environment(settings_, env_dir, _default_env_dir): def settings(): with open(os.path.join(os.path.dirname(os.path.realpath(__file__)), "settings_schema.json")) as f: settings_ = json.load(f) - py_versions = [f"3.{x}" for x in range(7, 11) if shutil.which(f"python3.{x}")] + py_versions = [f"3.{x}" for x in range(7, 13) if shutil.which(f"python3.{x}")] python_versions = settings_["properties"]["env_data"]["properties"]["python_version"] python_versions["enum"] = py_versions python_versions["default"] = py_versions[-1] From 53c2ae492e6d814acab5dc73f6c370f94d64a2f3 Mon Sep 17 00:00:00 2001 From: David Liu Date: Thu, 21 Dec 2023 20:45:02 -0500 Subject: [PATCH 29/33] Improve default error message when a test group times out (#471) --- Changelog.md | 1 + server/autotest_server/__init__.py | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/Changelog.md b/Changelog.md index e53d823a..af6f2df6 100644 --- a/Changelog.md +++ b/Changelog.md @@ -7,6 +7,7 @@ All notable changes to this project will be documented here. - Add support for Python 3.11 and 3.12 (#467) - Track test environment setup status and report errors when running tests if environment setup is in progress or raised an error (#468) - Update Haskell tester to use [Stack](https://docs.haskellstack.org/en/stable/) to install dependencies (#469) +- Improve default error message when a test group times out (#470) ## [v2.3.1] - Fix a bug that prevented test file from being copied from a zip file to another location on disk (#426) diff --git a/server/autotest_server/__init__.py b/server/autotest_server/__init__.py index 4d067f9b..c3706fa5 100644 --- a/server/autotest_server/__init__.py +++ b/server/autotest_server/__init__.py @@ -229,6 +229,12 @@ def _run_test_specs( else: _kill_user_processes(test_username) out, err = proc.communicate() + if err == "Killed\n": # Default message from shell + test_group_name = test_data.get("extra_info", {}).get("name", "").strip() + if test_group_name: + err = f"Tests for {test_group_name} did not complete within time limit ({timeout}s)\n" + else: + err = f"Tests did not complete within time limit ({timeout}s)\n" timeout_expired = timeout except Exception as e: err += "\n\n{}".format(e) From 856485023ff9bcd806a371839380421ef544ff98 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Jan 2024 16:47:40 +0000 Subject: [PATCH 30/33] build(deps): bump psycopg2-binary from 2.9.5 to 2.9.9 in /server (#476) Bumps [psycopg2-binary](https://github.com/psycopg/psycopg2) from 2.9.5 to 2.9.9. - [Changelog](https://github.com/psycopg/psycopg2/blob/master/NEWS) - [Commits](https://github.com/psycopg/psycopg2/commits/2.9.9) --- updated-dependencies: - dependency-name: psycopg2-binary dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- server/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/requirements.txt b/server/requirements.txt index e9764137..3d57bd47 100644 --- a/server/requirements.txt +++ b/server/requirements.txt @@ -5,5 +5,5 @@ pyyaml==6.0.1 jsonschema==4.17.3;python_version<"3.8" jsonschema==4.20.0;python_version>="3.8" requests==2.31.0 -psycopg2-binary==2.9.5 +psycopg2-binary==2.9.9 supervisor==4.2.5 From 5e72ec40a7263fe840af0266977edf7473779b78 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 2 Jan 2024 16:47:59 +0000 Subject: [PATCH 31/33] [pre-commit.ci] pre-commit autoupdate (#472) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/psf/black: 23.12.0 → 23.12.1](https://github.com/psf/black/compare/23.12.0...23.12.1) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 33f12244..46badc1b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/psf/black - rev: 23.12.0 + rev: 23.12.1 hooks: - id: black - repo: https://github.com/pycqa/flake8 From 83bb707f498cb304755433526a704cfbe3afb9f8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Jan 2024 16:51:55 +0000 Subject: [PATCH 32/33] build(deps): bump click from 8.1.3 to 8.1.7 in /server (#475) Bumps [click](https://github.com/pallets/click) from 8.1.3 to 8.1.7. - [Release notes](https://github.com/pallets/click/releases) - [Changelog](https://github.com/pallets/click/blob/main/CHANGES.rst) - [Commits](https://github.com/pallets/click/compare/8.1.3...8.1.7) --- updated-dependencies: - dependency-name: click dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- server/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/requirements.txt b/server/requirements.txt index 3d57bd47..ae91fdd0 100644 --- a/server/requirements.txt +++ b/server/requirements.txt @@ -1,5 +1,5 @@ rq==1.15.1 -click==8.1.3 +click==8.1.7 redis==5.0.1 pyyaml==6.0.1 jsonschema==4.17.3;python_version<"3.8" From 0e21516d4d227a5748250c85a0cd432ffd488d96 Mon Sep 17 00:00:00 2001 From: donny-wong <141858744+donny-wong@users.noreply.github.com> Date: Mon, 8 Jan 2024 14:14:17 -0500 Subject: [PATCH 33/33] update python-ta version to 2.7.0 (#478) Co-authored-by: Donny Wong --- server/autotest_server/testers/pyta/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/autotest_server/testers/pyta/requirements.txt b/server/autotest_server/testers/pyta/requirements.txt index 859b00b0..b9e7f41c 100644 --- a/server/autotest_server/testers/pyta/requirements.txt +++ b/server/autotest_server/testers/pyta/requirements.txt @@ -1,3 +1,3 @@ python-ta==1.4.2;python_version<"3.8" -python-ta==2.6.3; python_version>="3.8" +python-ta==2.7.0; python_version>="3.8" isort<5;python_version<"3.8"