Skip to content

Commit 6ad018b

Browse files
authored
Merge pull request #634 from donny-wong/v2.8.0
V2.8.0
2 parents 5fc29f6 + 5b739ff commit 6ad018b

27 files changed

+666
-37
lines changed

.github/workflows/test_ci.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,10 @@ jobs:
3232
restore-keys: |
3333
${{ runner.os }}-pip-
3434
- name: Install python packages
35-
run: python -m pip install pytest fakeredis typing-extensions -r ${{ matrix.test-dir }}/requirements.txt
35+
run: |
36+
python -m pip install pytest python-dotenv fakeredis typing-extensions nbformat PyPDF2 \
37+
-r ${{ matrix.test-dir }}/requirements.txt \
38+
-r server/autotest_server/testers/jupyter/requirements.txt
3639
- name: Create users
3740
run: |
3841
sudo adduser --disabled-login --no-create-home fake_user

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ repos:
44
hooks:
55
- id: black
66
- repo: https://github.com/pycqa/flake8
7-
rev: 7.1.2
7+
rev: 7.3.0
88
hooks:
99
- id: flake8

Changelog.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,17 @@
11
# CHANGELOG
22
All notable changes to this project will be documented here.
33

4+
## [v2.8.0]
5+
- Update Python and Jupyter test names to follow `[file] class.funcname` format (#605)
6+
- Update r tester test_name formatting and add r tester tests (#606)
7+
- Update R tester to support MarkUs metadata (#615)
8+
- Update Python tester to support MarkUs metadata for test-specific marks earned and marks total (#619)
9+
- Add `ai_tester` module to support AI-based autograding via `ai-autograding-feedback` (#625)
10+
- Add `ai` to list of testers (#628)
11+
- Fixed an `AttributeError` when handling exceptions in server `update_test_settings` (#629)
12+
- Added opt out feature to the `ai_tester` by searching for `NO_EXTERNAL_AI_FEEDBACK` (#632)
13+
- Modified R tester to always display test result messages, even when tests pass (#633)
14+
415
## [v2.7.0]
516
- Update python, pyta and jupyter testers to allow a requirements file (#580)
617
- Update R tester to allow a renv.lock file (#581)

README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,8 @@ The autotester currently supports testers for the following languages and testin
140140
- [TestThat](https://testthat.r-lib.org/)
141141
- `custom`
142142
- see more information [here](#the-custom-tester)
143-
143+
- `ai`
144+
- [ai-autograding-feedback](https://github.com/MarkUsProject/ai-autograding-feedback)
144145
#### Tester Dependencies
145146
146147
Installing each tester will also install the following additional packages (system-wide):
@@ -163,6 +164,8 @@ Installing each tester will also install the following additional packages (syst
163164
- R
164165
- `custom`
165166
- none
167+
- `ai`
168+
- none
166169
167170
## Autotester configuration options
168171

client/requirements.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
flask==3.1.0
2-
python-dotenv==1.0.1
3-
rq==2.1.0
4-
redis==5.2.1
5-
jsonschema==4.23.0
1+
flask==3.1.1
2+
python-dotenv==1.1.1
3+
rq==2.4.1
4+
redis==6.2.0
5+
jsonschema==4.25.0
66
Werkzeug==3.1.3

client/run.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@
22
from autotest_client import app
33

44
if __name__ == "__main__":
5+
app.json.sort_keys = False
56
app.run(host=os.environ["FLASK_HOST"], port=int(os.environ["FLASK_PORT"]), debug=True)

compose.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ services:
7575
volumes:
7676
- redis_autotest:/data
7777
ports:
78-
- 6379
78+
- '6379:6379'
7979

8080
rq_dashboard:
8181
image: eoranged/rq-dashboard

server/autotest_server/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,7 @@ def update_test_settings(user, settings_id, test_settings, file_url):
430430
tester_settings["_env"] = tester_install.create_environment(tester_settings, env_dir, default_env)
431431
except Exception as e:
432432
error_message = f"create tester environment failed:\n{e}"
433-
if e.stderr:
433+
if getattr(e, "stderr", ""):
434434
error_message += f"\nDetails (captured stderr):\n{e.stderr}"
435435
raise Exception(error_message) from e
436436
test_settings["testers"][i] = tester_settings

server/autotest_server/testers/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import os
22

3-
_TESTERS = ("custom", "haskell", "java", "jupyter", "py", "pyta", "r", "racket")
3+
_TESTERS = ("ai", "custom", "haskell", "java", "jupyter", "py", "pyta", "r", "racket")
44

55

66
def install(testers=_TESTERS):

server/autotest_server/testers/ai/__init__.py

Whitespace-only changes.

0 commit comments

Comments
 (0)