From 8aa469b9b8c65a1b66c0008668ca652ef9b9f1b7 Mon Sep 17 00:00:00 2001 From: Tom Naessens Date: Mon, 19 Oct 2026 13:07:31 +0200 Subject: [PATCH] Describe the final layout of tested/ in its README Co-Authored-By: Claude Opus 5.5 --- tested/README.md | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/tested/README.md b/tested/README.md index a1923ca..b6d453a 100644 --- a/tested/README.md +++ b/tested/README.md @@ -7,12 +7,27 @@ - http://docs.dodona.be/guides/exercises/examples/class - http://docs.dodona.be/guides/exercises/examples/command-line -## Programming language +## One suite, every language -The exercises directly in this directory are in Python, the default set in `dirconfig.json`. -Examples in other languages have a directory per language, whose `dirconfig.json` sets the programming language: +In [`echo-name/`](echo-name/) and [`smallest/`](smallest/), one test suite judges every programming language TESTed supports (`smallest`: all but Bash). +Their `solution/` directory has a solution in each of those languages. +Dodona allows one programming language per exercise: set `programming_language` in `config.json` to pick one (Python by default, from `dirconfig.json`). +`.github/workflows/examples.yml` runs every solution against its suite, here and in the language directories. -- [`javascript/`](javascript/) +## A directory per language + +These directories hold exercises typical for one language, each showing one TESTed feature (return values, objects, expected exceptions, program arguments and exit codes, files, stdin). +Their `dirconfig.json` sets the programming language. -`forbidden-construct` checks how a submission is written by parsing it with Python's `ast` module, so its oracle only works for Python. +- [`bash/`](bash/) +- [`c/`](c/) +- [`cpp/`](cpp/) +- [`csharp/`](csharp/) +- [`haskell/`](haskell/) +- [`java/`](java/) +- [`javascript/`](javascript/) +- [`kotlin/`](kotlin/) +- [`python/`](python/) +- [`typescript/`](typescript/) +`python/forbidden-construct` checks how a submission is written by parsing it with Python's `ast` module, so its oracle only works for Python.