Hi,
I'm attempting to organize tests in my package into subfolders/modules instead of having them in a giant main.rkt test submodule, but am running into some issues and was hoping for some advice on the best way to do it. I think the primary issue is related to source compilation order in raco, but am also curious how other people organize their tests.
I've moved all of the tests into a tests/ subfolder in the main project tree. When I build the project using raco setup, it builds both the project files as well as the tests contained in the tests/ folder. At this point, if I run the tests as is, they result in an error. If instead I first delete the compiled/ subfolder in the tests folder, the tests then work fine.
I think the tests may be getting compiled against the version of the compiled collection which is immediately replaced by a fresh compilation during raco setup. This is the error I'm seeing when I run the tests:
default-load-handler: expected a `module' declaration, but found something else
file: /Users/siddhartha/work/lisp/racket/relation/tests/compiled/algebraic-test_rkt.dep
context...:
default-load-handler
standard-module-name-resolver
module-path-index-resolve
module-declared?
I could add a make target to clean the test compiled folder prior to running tests, but it seemed like there must be a better way. So my main questions are:
1. Is there a way to exclude certain folders (such as tests) in the raco setup stage? For reference, the command I'm using is raco setup --no-docs --tidy --pkgs relation.
2. Is this a good way to organize tests? Are there any standard recommended ways?
Would appreciate any input,
-Sid