You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently (in the legacy and legacy-icpc specs), there can be multiple output_validators/. But according to the new spec (https://icpc.io/problem-package-format/spec/2023-07-draft.html#problem-package-structure-overview), there can be only one output validator, that lives in output_validator/. This makes sense, because if there are multiple output validators, this forces the problem packager to decide in which order these should be executed (using build and run scripts). We'd like to support this in BAPCtools as well, however:
This change would break the symmetry with the input/answer validators, which do allow multiple validators.
On the other hand, we may also want to implement the singular {input,output}_visualizer/ and static_validator/ at some point, so it makes sense to set up our architecture to support these as well. But as long as we don't, it may not be worth it.
See also the comments in problem.py and validate.py marked with # TODO #424, and DOMjudge/domjudge#2887.
The text was updated successfully, but these errors were encountered:
mpsijm
changed the title
Support singular singular output_validator/ for 2023-07-draft spec
Support singular output_validator/ for 2023-07-draft spec
Feb 15, 2025
mpsijm
added a commit
to mpsijm/BAPCtools
that referenced
this issue
Feb 15, 2025
* Implement 'type' field in problem.yaml from 2023-07-draft spec
* [problem] Move determining fields interactive, multipass, and custom_output to constructor of ProblemSettings
* Rename variables `multipass` to `multi_pass`
* [skel] Read type instead of validation
* [problem] Mark TODOs for #424 (support singular output_validator/)
* [skel] Remove support for `bt new_problem --type default` in favour of `pass-fail`
* [problem] If we don't find output validator paths, abort when problem type is interactive and/or multi-pass
Follow-up of #421 (comment).
Currently (in the
legacy
andlegacy-icpc
specs), there can be multipleoutput_validators/
. But according to the new spec (https://icpc.io/problem-package-format/spec/2023-07-draft.html#problem-package-structure-overview), there can be only one output validator, that lives inoutput_validator/
. This makes sense, because if there are multiple output validators, this forces the problem packager to decide in which order these should be executed (usingbuild
andrun
scripts). We'd like to support this in BAPCtools as well, however:bt export
.{input,output}_visualizer/
andstatic_validator/
at some point, so it makes sense to set up our architecture to support these as well. But as long as we don't, it may not be worth it.See also the comments in
problem.py
andvalidate.py
marked with# TODO #424
, and DOMjudge/domjudge#2887.The text was updated successfully, but these errors were encountered: