> Just to make sure I understood correctly: ‘msgpack’ is the umbrella module > that users import, ‘msgpack/test/pack’ (and ‘unpack’) are the test modules > that will be run for testing only. How about the directory structure? I like > to keep all source files in a source directory (my original reason for doing > ‘multi), can I still do something like this? > > |-README > |-LICENSE > |-info.rkt > |-source > |-msgpack.rkt > |-pack.rkt > |-unpack.rkt > |-test > |-pack.rkt > |-pack > |- ... > |-unpack.rkt > |-unpack > |- … > > It doesn’t have to be exactly this structure, but the idea is that all > project-realted files are in the root, all the source files in the source > directory and all the test files in the test directory.
That you cannot do, and if you wish to do that keeping your code as one package might be a little unidiomatic. If you want to keep your test code completely separate from your implementation code, and you want both to be separate from the top level root of the project, you could have two separate packages each with a single collection like so: |-README |-LICENSE |-msgpack-lib |-info.rkt ;; collection is "msgpack" |-main.rkt |-pack.rkt |-unpack.rkt |-msgpack-test |-info.rkt ;; collection is "msgpack" |-pack-test.rkt |-unpack-test.rkt Having said that, have you considered test submodules? They allow you to write your tests in the same file as the code they're testing, while keeping test dependencies separate from your library's normal runtime dependencies. With test submodules, your code would probably look like this: (define (pack ...) ...) (module+ test test pack ...) (define (unpack ...) ...) (module+ test test unpack ...) And your directory structure would look like this: |-README |-LICENSE |-info.rkt ;; collection is "msgpack" |-main.rkt |-pack.rkt ;; has test submodule |-unpack.rkt ;; has test submodule You could also put the code into a subdirectory package like above, if you really want to keep the project files and the source files separate. -- 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 racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.