RagnarGrootKoerkamp / BAPCtools

Tools for developing ICPC-style programming contest problems.
GNU General Public License v3.0
48 stars 18 forks source link

Validate generators.yaml better #351

Closed thorehusfeldt closed 4 months ago

thorehusfeldt commented 4 months ago
  1. Update the schema for testdata.yaml to the 2023-07-draft version. This involves retiring some outdated testdata.yaml entries in generators.yaml-files, such as
    testdata.yaml:
        on_reject: break
        accept_score: "25"
        range: 0 25
        grader_flags: min
  2. Split the CUE schema in two, one things that are specified in the official problem package format (valid filenames, testdata settings), one for BAPC’s generators.
  3. Generator names can’t include ., so generators like main.cpp in identity are renamed to main_cpp
  4. data cannot be null, so removed some empty productions from generator in identity
  5. For the same reason, added a single testcase to the invalid_* part of the problem skeleton
  6. Removed universally invalid_input from the skeleton
  7. Made CI validate all generators.yaml in the repo, not only in doc/
thorehusfeldt commented 4 months ago

@RagnarGrootKoerkamp : I reverted my suggestions for rewriting the skel/problem/generatators/generators.yaml. There are too many issues involved that are orthogonal to the ambition of this particular pull request. Now I only replaced the empty values in data: with data: [] to make the skeleton conform.

This is ready to be merged.