Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 20 additions & 5 deletions tested/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Loading