INGInious
INGInious copied to clipboard
[utils/task_tester] New task dispenser broke the task tester
Describe the bug The introduction of the new task dispenser broke the task testing script.
INGInious installation details
- Version: 2b054c4a4c32a7f52bf33a713228da2f2b9d7158
To Reproduce Launch the task tester CI script on a correctly configured course.
Screenshots
Run python3.11 ${INGINIOUS}/utils/task_tester/inginious-test-task -p ${PLUGIN_NAMES} -c ${INGINIOUS}/configuration.yaml ${REPO_NAME}
Hello from the task tester utility!
runc was detected as a runtime; it would duplicate another one, so we ignore it. DockerRuntime(runtime='runc', run_as_root=False, enables_gpu=False, shared_kernel=True, envtype='docker')
Traceback (most recent call last):
Waiting for containers loading ...............
File "/home/runner/.local/lib/python3.11/site-packages/inginious/frontend/courses.py", line 92, in __init__
self._task_dispenser = task_dispenser_class(lambda: self._task_factory.get_all_tasks(self), self._content.get("dispenser_data", ''), database, self.get_id())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.local/lib/python3.11/site-packages/inginious/frontend/task_dispensers/toc.py", line 25, in __init__
raise Exception("Invalid dispenser data structure")
Exception: Invalid dispenser data structure
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/runner/INGInious/utils/task_tester/inginious-test-task", line 3[23](<<<anonymized>>>), in <module>
course = course_factory.get_course(courseid)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.local/lib/python3.11/site-packages/inginious/frontend/course_factory.py", line 52, in get_course
self._update_cache(courseid)
File "/home/runner/.local/lib/python3.11/site-packages/inginious/frontend/course_factory.py", line 234, in _update_cache
Course(courseid, course_descriptor, self.get_course_fs(courseid), self._task_factory, self._plugin_manager, self._task_dispensers, self._database),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.local/lib/python3.11/site-packages/inginious/frontend/courses.py", line 94, in __init__
raise Exception("Course has an invalid YAML spec: " + self.get_id())
Exception: Course has an invalid YAML spec: TFE-Inginious-Exo7
Error: Process completed with exit code 1.