racket/collects/tests/planet2/test.rkt
Jay McCarthy fae660b0e4 Release Planet 2 (beta)
This was developed in a different repository, so the history will be
archived there:

https://github.com/jeapostrophe/galaxy
2012-11-08 06:16:42 -07:00

43 lines
1.1 KiB
Racket

#lang racket/base
(require (for-syntax racket/base
"util.rkt")
"shelly.rkt"
"util.rkt")
;; By making these syntax-time includes, it made it so they would be
;; rebuilt and register as real dependencies.
(define-syntax (run-tests stx)
(syntax-case stx ()
[(_ f ...)
(with-syntax
([(tests-f ...)
(for/list ([f-stx (in-list (syntax->list #'(f ...)))])
(define f (syntax->datum f-stx))
`(file ,(path->string (build-path test-directory (format "tests-~a.rkt" f)))))])
(syntax/loc stx
(run-tests*
(list (let ()
(local-require (only-in tests-f run-pkg-tests))
run-pkg-tests)
...))))]))
(define (run-tests* l)
(run-pkg-tests*
(λ ()
(shelly-case "All tests"
(for-each (λ (x) (x)) l)))))
(run-tests
"basic" "create" "install"
"network" "conflicts" "checksums"
"deps" "update"
"remove"
"locking"
"overwrite"
"config"
"planet"
"update-deps"
"update-auto"
"raco"
"main-server")