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

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/CACQBWF%3D5iwYRCOgwEmwNSh27QzpfE1pjFqvzzB_1KNs3zgHX5g%40mail.gmail.com.

Reply via email to