30 lines
943 B
Racket
30 lines
943 B
Racket
#lang racket/base
|
|
(require "private/drracket-test-util.rkt"
|
|
racket/class
|
|
racket/runtime-path
|
|
racket/file
|
|
racket/gui/base)
|
|
(define-runtime-path snip "snip")
|
|
|
|
(fire-up-drracket-and-run-tests
|
|
(λ ()
|
|
|
|
(define drs (wait-for-drracket-frame))
|
|
(define tmpdir (make-temporary-file "drracketsniptest~a" 'directory))
|
|
(define defs (queue-callback/res (λ () (send drs get-definitions-text))))
|
|
(for ([rfile (in-list (directory-list snip))])
|
|
(define file (build-path snip rfile))
|
|
(when (file-exists? file) ;; skip subdirectories
|
|
(printf " trying ~a\n" rfile)
|
|
(queue-callback/res
|
|
(λ () (send defs load-file file)))
|
|
(save-drracket-window-as (build-path tmpdir rfile))
|
|
(define drs2 (wait-for-drracket-frame))
|
|
(unless (eq? drs drs2)
|
|
(error 'snips.rkt "lost drracket frame while saving ~s" rfile))))
|
|
|
|
(delete-directory/files tmpdir)))
|
|
|
|
|
|
|