mirror of
https://github.com/krgamestudios/Toy.git
synced 2026-04-15 14:54:07 +10:00
Reworked the tests, read more
I've brought the tests up to scratch, except for compounds im the parser, because I'm too damn tired to do that over SSH. It looks like collections are right-recursive, whixh was unintended but still works just fine. I've also added the '--verbose' flag to the repl to control the debugging output. Several obscure bugs have been fixed, and comments have been tweaked. Mustfail tests are still needed, but that's a low priority. See #142. Fixed #151
This commit is contained in:
36
tests/README.md
Normal file
36
tests/README.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# Test Instructions
|
||||
|
||||
To run these tests, execute the following commands from the repo's root:
|
||||
|
||||
`make tests`
|
||||
`make test-cases`
|
||||
`make test-integrations`
|
||||
|
||||
Alternatively, to run these tests under GDB, execute the following commands from the repo's root:
|
||||
|
||||
`make tests-gdb`
|
||||
`make test-cases-gdb`
|
||||
`make test-integrations-gdb`
|
||||
|
||||
Remember that `make clean` will remove the build artifacts after testing, and `make tests` and `make-tests-gdb` automatically invoke `make clean` before they begin.
|
||||
|
||||
## Benchmarks
|
||||
|
||||
For testing and comparing different potential solutions. This may be left in an incomplete state, so it might not work out of the box.
|
||||
|
||||
## Cases
|
||||
|
||||
For testing individual pieces of the source code in isolation. These are essentially the unit tests.
|
||||
|
||||
## Integrations
|
||||
|
||||
This compiles the source and repl files into a library and executable, then runs each `*.toy` file through the repl to ensure the Toy code works in practice. These are essentially integration tests.
|
||||
|
||||
## Mustfails
|
||||
|
||||
These have situations which will raise errors of some kind, to ensure that common user errors are handled gracefully. This is not yet implemented.
|
||||
|
||||
## Standalone
|
||||
|
||||
These are one-file programs that are not intended to test the source directly. Instead, these can cover a number of situations, such as the exact behavior of GitHub's workflow runners, or to generate repetitive code predictably, etc.
|
||||
|
||||
Reference in New Issue
Block a user