From 9f08727396fabfa563ba4932980a53a9e253fae9 Mon Sep 17 00:00:00 2001 From: Noel Welsh Date: Mon, 29 Mar 2010 12:58:13 +0000 Subject: [PATCH 1/7] Fix the SchemeUnit test suite so it runs without error following changed introduced in r18618. svn: r18659 original commit: f655a38eada83091bc0e26c45758658cff6c9c33 --- .../tests/schemeunit/all-schemeunit-tests.ss | 1 + collects/tests/schemeunit/run-tests.ss | 5 ++- collects/tests/schemeunit/text-ui-test.ss | 41 +++++++++++-------- 3 files changed, 28 insertions(+), 19 deletions(-) diff --git a/collects/tests/schemeunit/all-schemeunit-tests.ss b/collects/tests/schemeunit/all-schemeunit-tests.ss index a25deb4..1b8282f 100644 --- a/collects/tests/schemeunit/all-schemeunit-tests.ss +++ b/collects/tests/schemeunit/all-schemeunit-tests.ss @@ -41,6 +41,7 @@ format-tests )) +;; These tests fail. The are intended to do this so a human can manually check the output they produce. They should not be run by DrDr as they will generate bogus warnings. (define success-and-failure-tests (test-suite "Successes and Failures" diff --git a/collects/tests/schemeunit/run-tests.ss b/collects/tests/schemeunit/run-tests.ss index 8b5125c..e5346f3 100644 --- a/collects/tests/schemeunit/run-tests.ss +++ b/collects/tests/schemeunit/run-tests.ss @@ -4,6 +4,7 @@ schemeunit/text-ui "all-schemeunit-tests.ss") -;(run-tests all-schemeunit-tests) +(run-tests all-schemeunit-tests) -(run-tests success-and-failure-tests) +;; Don't run the failing tests by default. Switch the comments if you want to inspect the visual appearance of failing test's output. +;(run-tests success-and-failure-tests) diff --git a/collects/tests/schemeunit/text-ui-test.ss b/collects/tests/schemeunit/text-ui-test.ss index 9116a29..ca7d336 100644 --- a/collects/tests/schemeunit/text-ui-test.ss +++ b/collects/tests/schemeunit/text-ui-test.ss @@ -1,5 +1,5 @@ ;;; -;;; Time-stamp: <2008-07-31 10:11:42 noel> +;;; Time-stamp: <2010-03-29 13:56:54 noel> ;;; ;;; Copyright (C) 2005 by Noel Welsh. ;;; @@ -48,12 +48,22 @@ expr ...) (get-output-string p))])) +(define-syntax with-error-to-string + (syntax-rules () + [(with-error-to-string expr ...) + (let ([p (open-output-string)]) + (parameterize ([current-error-port p]) + expr ...) + (get-output-string p))])) + (define-runtime-path here ".") ;; with-silent-output (() -> any) -> any (define (with-silent-output thunk) - (let ((op (open-output-string))) - (parameterize ((current-output-port op)) + (let ([out (open-output-string)] + [err (open-output-string)]) + (parameterize ([current-output-port out] + [current-error-port err]) (thunk)))) (define (failing-test) @@ -99,7 +109,7 @@ (test-case "Binary check displays actual and expected in failure error message" - (let ((op (with-output-to-string (failing-test)))) + (let ((op (with-error-to-string (failing-test)))) (check string-contains op "expected") @@ -109,14 +119,14 @@ (test-case "Binary check doesn't display params" - (let ((op (with-output-to-string (failing-test)))) + (let ((op (with-error-to-string (failing-test)))) (check (lambda (out str) (not (string-contains out str))) op "params"))) (test-case "Binary check output is pretty printed" - (let ([op (with-output-to-string (failing-binary-test/complex-params))]) + (let ([op (with-error-to-string (failing-binary-test/complex-params))]) (check string-contains op "((0 1 2 3 4 5 6 7 8 9 10 11 12 13 14) @@ -125,7 +135,7 @@ (test-case "Non-binary check output is pretty printed" - (let ([op (with-output-to-string (failing-test/complex-params))]) + (let ([op (with-error-to-string (failing-test/complex-params))]) (check string-contains op "((0 1 2 3 4 5 6 7 8 9 10 11 12 13 14) @@ -135,14 +145,14 @@ (test-case "Location trimmed when file is under current directory" (parameterize ((current-directory here)) - (let ((op (with-output-to-string (failing-test)))) + (let ((op (with-error-to-string (failing-test)))) (check string-contains op "location: text-ui-test.ss")))) (test-case "Name and location displayed before actual/expected" - (let ((op (with-output-to-string (failing-test)))) + (let ((op (with-error-to-string (failing-test)))) (let ((name-idx (string-contains op "name:")) (loc-idx (string-contains op "location:")) (actual-idx (string-contains op "actual:")) @@ -153,14 +163,11 @@ (test-case "Quiet mode is quiet" - (let ((op1 (with-output-to-string (quiet-failing-test))) - (op2 (with-output-to-string (quiet-error-test)))) - (check string=? - op1 - "0 success(es) 1 failure(s) 0 error(s) 1 test(s) run\n") - (check string=? - op2 - "0 success(es) 0 failure(s) 1 error(s) 1 test(s) run\n"))) + (let ((op1 (with-error-to-string (quiet-failing-test))) + (op2 (with-error-to-string (quiet-error-test)))) + (check string=? op1 "") + (check string=? op2 ""))) + (test-case "Number of unsuccessful tests returned" (check-equal? (with-silent-output failing-test) 1) From 18c725519403a52550b30a24af4639c1b446d1fa Mon Sep 17 00:00:00 2001 From: Jay McCarthy Date: Tue, 30 Mar 2010 17:42:16 +0000 Subject: [PATCH 2/7] Repairing SchemeUnit tests re: DrDr svn: r18673 original commit: 0289edf0cb33dedd42476f87685ba9553adb776f --- collects/schemeunit/text-ui.ss | 204 ++++++++++-------- .../tests/schemeunit/all-schemeunit-tests.ss | 8 +- collects/tests/schemeunit/run-tests.ss | 6 +- collects/tests/schemeunit/text-ui-test.ss | 139 ++++++------ 4 files changed, 184 insertions(+), 173 deletions(-) diff --git a/collects/schemeunit/text-ui.ss b/collects/schemeunit/text-ui.ss index fb900d3..0115b01 100644 --- a/collects/schemeunit/text-ui.ss +++ b/collects/schemeunit/text-ui.ss @@ -57,12 +57,12 @@ ;; Prints a summary of the test result (define (display-ticker result) (cond - ((test-error? result) - (display "!")) - ((test-failure? result) - (display "-")) - (else - (display ".")))) + ((test-error? result) + (display "!")) + ((test-failure? result) + (display "-")) + (else + (display ".")))) ;; display-test-preamble : test-result -> (hash-monad-of void) (define (display-test-preamble result) @@ -72,7 +72,7 @@ (begin (display-delimiter) hash)))) - + ;; display-test-postamble : test-result -> (hash-monad-of void) (define (display-test-postamble result) (lambda (hash) @@ -86,16 +86,16 @@ ;; display-result : test-result -> void (define (display-result result) (cond - ((test-error? result) - (display-test-name (test-result-test-case-name result)) - (display-error) - (newline)) - ((test-failure? result) - (display-test-name (test-result-test-case-name result)) - (display-failure) - (newline)) - (else - (void)))) + ((test-error? result) + (display-test-name (test-result-test-case-name result)) + (display-error) + (newline)) + ((test-failure? result) + (display-test-name (test-result-test-case-name result)) + (display-failure) + (newline)) + (else + (void)))) ;; strip-redundant-parms : (list-of check-info) -> (list-of check-info) @@ -107,66 +107,66 @@ (define (binary-check-this-frame? stack) (let loop ([stack stack]) (cond - [(null? stack) #f] - [(check-name? (car stack)) #f] - [(check-actual? (car stack)) #t] - [else (loop (cdr stack))]))) + [(null? stack) #f] + [(check-name? (car stack)) #f] + [(check-actual? (car stack)) #t] + [else (loop (cdr stack))]))) (let loop ([stack stack]) (cond - [(null? stack) null] - [(check-params? (car stack)) - (if (binary-check-this-frame? stack) - (loop (cdr stack)) - (cons (car stack) (loop (cdr stack))))] - [else (cons (car stack) (loop (cdr stack)))]))) - - + [(null? stack) null] + [(check-params? (car stack)) + (if (binary-check-this-frame? stack) + (loop (cdr stack)) + (cons (car stack) (loop (cdr stack))))] + [else (cons (car stack) (loop (cdr stack)))]))) + + ;; display-context : test-result [(U #t #f)] -> void (define (display-context result [verbose? #f]) (cond - [(test-failure? result) - (let* ([exn (test-failure-result result)] - [stack (exn:test:check-stack exn)]) - (textui-display-check-info-stack stack verbose?))] - [(test-error? result) - (let ([exn (test-error-result result)]) - (textui-display-check-info-stack (check-info-stack (exn-continuation-marks exn))) - (display-exn exn))] - [else (void)])) + [(test-failure? result) + (let* ([exn (test-failure-result result)] + [stack (exn:test:check-stack exn)]) + (textui-display-check-info-stack stack verbose?))] + [(test-error? result) + (let ([exn (test-error-result result)]) + (textui-display-check-info-stack (check-info-stack (exn-continuation-marks exn))) + (display-exn exn))] + [else (void)])) (define (textui-display-check-info-stack stack [verbose? #f]) (for-each (lambda (info) (cond - [(check-name? info) - (display-check-info info)] - [(check-location? info) - (display-check-info-name-value - 'location - (trim-current-directory - (location->string - (check-info-value info))) - display)] - [(check-params? info) - (display-check-info-name-value - 'params - (check-info-value info) - (lambda (v) (map pretty-print v)))] - [(check-actual? info) - (display-check-info-name-value - 'actual - (check-info-value info) - pretty-print)] - [(check-expected? info) - (display-check-info-name-value - 'expected - (check-info-value info) - pretty-print)] - [(and (check-expression? info) - (not verbose?)) - (void)] - [else - (display-check-info info)])) + [(check-name? info) + (display-check-info info)] + [(check-location? info) + (display-check-info-name-value + 'location + (trim-current-directory + (location->string + (check-info-value info))) + display)] + [(check-params? info) + (display-check-info-name-value + 'params + (check-info-value info) + (lambda (v) (map pretty-print v)))] + [(check-actual? info) + (display-check-info-name-value + 'actual + (check-info-value info) + pretty-print)] + [(check-expected? info) + (display-check-info-name-value + 'expected + (check-info-value info) + pretty-print)] + [(and (check-expression? info) + (not verbose?)) + (void)] + [else + (display-check-info info)])) (if verbose? stack (strip-redundant-params stack)))) @@ -174,27 +174,27 @@ ;; display-verbose-check-info : test-result -> void (define (display-verbose-check-info result) (cond - ((test-failure? result) - (let* ((exn (test-failure-result result)) - (stack (exn:test:check-stack exn))) - (for-each - (lambda (info) - (cond - ((check-location? info) - (display "location: ") - (display (trim-current-directory - (location->string - (check-info-value info))))) - (else - (display (check-info-name info)) - (display ": ") - (write (check-info-value info)))) - (newline)) - stack))) - ((test-error? result) - (display-exn (test-error-result result))) - (else - (void)))) + ((test-failure? result) + (let* ((exn (test-failure-result result)) + (stack (exn:test:check-stack exn))) + (for-each + (lambda (info) + (cond + ((check-location? info) + (display "location: ") + (display (trim-current-directory + (location->string + (check-info-value info))))) + (else + (display (check-info-name info)) + (display ": ") + (write (check-info-value info)))) + (newline)) + stack))) + ((test-error? result) + (display-exn (test-error-result result))) + (else + (void)))) (define (std-test/text-ui display-context test) (parameterize ([current-output-port (current-error-port)]) @@ -221,23 +221,37 @@ (monad-value ((compose (sequence* - (display-counter) + (display-counter*) (counter->vector)) (match-lambda - ((vector s f e) - (return-hash (+ f e))))) + ((vector s f e) + (return-hash (+ f e))))) monad))) - + +(define (display-counter*) + (compose (counter->vector) + (match-lambda + [(vector s f e) + (if (and (zero? f) (zero? e)) + (display-counter) + (lambda args + (parameterize ([current-output-port (current-error-port)]) + (apply (display-counter) args))))]))) + ;; run-tests : test [(U 'quiet 'normal 'verbose)] -> integer (define (run-tests test [mode 'normal]) (monad-value ((compose (sequence* - (display-counter) + (case mode + [(normal verbose) + (display-counter*)] + [(quiet) + (lambda (a) a)]) (counter->vector)) (match-lambda - ((vector s f e) - (return-hash (+ f e))))) + ((vector s f e) + (return-hash (+ f e))))) (case mode ((quiet) (fold-test-results diff --git a/collects/tests/schemeunit/all-schemeunit-tests.ss b/collects/tests/schemeunit/all-schemeunit-tests.ss index 1b8282f..d943eaf 100644 --- a/collects/tests/schemeunit/all-schemeunit-tests.ss +++ b/collects/tests/schemeunit/all-schemeunit-tests.ss @@ -18,7 +18,7 @@ "text-ui-util-test.ss") (provide all-schemeunit-tests - success-and-failure-tests) + failure-tests) (define all-schemeunit-tests (test-suite @@ -41,11 +41,9 @@ format-tests )) -;; These tests fail. The are intended to do this so a human can manually check the output they produce. They should not be run by DrDr as they will generate bogus warnings. -(define success-and-failure-tests +(define failure-tests (test-suite - "Successes and Failures" - all-schemeunit-tests + "Failures" (test-case "Intended to fail" (fail)) (test-case "Also intended to fail" (check-eq? 'apples 'orange)) (test-equal? "Yet again intended to fail" "apples" "oranges") diff --git a/collects/tests/schemeunit/run-tests.ss b/collects/tests/schemeunit/run-tests.ss index e5346f3..3852cb9 100644 --- a/collects/tests/schemeunit/run-tests.ss +++ b/collects/tests/schemeunit/run-tests.ss @@ -6,5 +6,7 @@ (run-tests all-schemeunit-tests) -;; Don't run the failing tests by default. Switch the comments if you want to inspect the visual appearance of failing test's output. -;(run-tests success-and-failure-tests) +;; These tests should all error, so we switch the meaning of correct and incorrect. If the error display changes significantly, DrDr will catch it +(parameterize ([current-error-port (current-output-port)] + [current-output-port (current-error-port)]) + (run-tests failure-tests)) diff --git a/collects/tests/schemeunit/text-ui-test.ss b/collects/tests/schemeunit/text-ui-test.ss index ca7d336..c5daf75 100644 --- a/collects/tests/schemeunit/text-ui-test.ss +++ b/collects/tests/schemeunit/text-ui-test.ss @@ -29,6 +29,8 @@ #lang scheme/base (require scheme/runtime-path + scheme/pretty + scheme/port srfi/1 srfi/13 schemeunit @@ -36,35 +38,22 @@ (provide text-ui-tests) +(define-syntax-rule (with-all-output-to-string e ...) + (with-all-output-to-string* (lambda () e ...))) -;; Reimplement with-output-to-string to avoid dependency on -;; io.plt, which in turn depends on SchemeUnit 1.2, which -;; has not been ported to PLT 4. -(define-syntax with-output-to-string - (syntax-rules () - [(with-output-to-string expr ...) - (let ([p (open-output-string)]) - (parameterize ([current-output-port p]) - expr ...) - (get-output-string p))])) - -(define-syntax with-error-to-string - (syntax-rules () - [(with-error-to-string expr ...) - (let ([p (open-output-string)]) - (parameterize ([current-error-port p]) - expr ...) - (get-output-string p))])) +(define (with-all-output-to-string* thnk) + (with-output-to-string + (lambda () + (parameterize ([current-error-port (current-output-port)]) + (thnk))))) (define-runtime-path here ".") ;; with-silent-output (() -> any) -> any (define (with-silent-output thunk) - (let ([out (open-output-string)] - [err (open-output-string)]) - (parameterize ([current-output-port out] - [current-error-port err]) - (thunk)))) + (parameterize ([current-output-port (open-output-nowhere)] + [current-error-port (open-output-nowhere)]) + (thunk))) (define (failing-test) (run-tests @@ -109,7 +98,7 @@ (test-case "Binary check displays actual and expected in failure error message" - (let ((op (with-error-to-string (failing-test)))) + (let ((op (with-all-output-to-string (failing-test)))) (check string-contains op "expected") @@ -119,14 +108,15 @@ (test-case "Binary check doesn't display params" - (let ((op (with-error-to-string (failing-test)))) + (let ((op (with-all-output-to-string (failing-test)))) (check (lambda (out str) (not (string-contains out str))) op "params"))) (test-case "Binary check output is pretty printed" - (let ([op (with-error-to-string (failing-binary-test/complex-params))]) + (let ([op (parameterize ([pretty-print-columns 80]) + (with-all-output-to-string (failing-binary-test/complex-params)))]) (check string-contains op "((0 1 2 3 4 5 6 7 8 9 10 11 12 13 14) @@ -135,7 +125,8 @@ (test-case "Non-binary check output is pretty printed" - (let ([op (with-error-to-string (failing-test/complex-params))]) + (let ([op (parameterize ([pretty-print-columns 80]) + (with-all-output-to-string (failing-test/complex-params)))]) (check string-contains op "((0 1 2 3 4 5 6 7 8 9 10 11 12 13 14) @@ -145,14 +136,14 @@ (test-case "Location trimmed when file is under current directory" (parameterize ((current-directory here)) - (let ((op (with-error-to-string (failing-test)))) + (let ((op (with-all-output-to-string (failing-test)))) (check string-contains op "location: text-ui-test.ss")))) (test-case "Name and location displayed before actual/expected" - (let ((op (with-error-to-string (failing-test)))) + (let ((op (with-all-output-to-string (failing-test)))) (let ((name-idx (string-contains op "name:")) (loc-idx (string-contains op "location:")) (actual-idx (string-contains op "actual:")) @@ -163,65 +154,71 @@ (test-case "Quiet mode is quiet" - (let ((op1 (with-error-to-string (quiet-failing-test))) - (op2 (with-error-to-string (quiet-error-test)))) + (let ((op1 (with-all-output-to-string (quiet-failing-test))) + (op2 (with-all-output-to-string (quiet-error-test)))) (check string=? op1 "") (check string=? op2 ""))) - + (test-case "Number of unsuccessful tests returned" (check-equal? (with-silent-output failing-test) 1) (check-equal? (with-silent-output quiet-failing-test) 1) (check-equal? (with-silent-output quiet-error-test) 1) (check-equal? (with-silent-output - (lambda () - (run-tests - (test-suite - "Dummy" - (test-case "Dummy" (check-equal? 1 1))) - 'quiet))) + (lambda () + (run-tests + (test-suite + "Dummy" + (test-case "Dummy" (check-equal? 1 1))) + 'quiet))) 0)) (test-case "run-tests runs suite before/after actions in quiet mode" - (let ([foo 1]) - (run-tests - (test-suite - "Foo" - #:before (lambda () (set! foo 2)) - #:after (lambda () (set! foo 3)) - (test-case - "Foo check" - (check = foo 2))) - 'quiet) - (check = foo 3))) + (with-silent-output + (λ () + (let ([foo 1]) + (run-tests + (test-suite + "Foo" + #:before (lambda () (set! foo 2)) + #:after (lambda () (set! foo 3)) + (test-case + "Foo check" + (check = foo 2))) + 'quiet) + (check = foo 3))))) (test-case "run-tests runs suite before/after actions in normal mode" - (let ([foo 1]) - (run-tests - (test-suite - "Foo" - #:before (lambda () (set! foo 2)) - #:after (lambda () (set! foo 3)) - (test-case - "Foo check" - (check = foo 2))) - 'normal) - (check = foo 3))) + (with-silent-output + (λ () + (let ([foo 1]) + (run-tests + (test-suite + "Foo" + #:before (lambda () (set! foo 2)) + #:after (lambda () (set! foo 3)) + (test-case + "Foo check" + (check = foo 2))) + 'normal) + (check = foo 3))))) (test-case "run-tests runs suite before/after actions in verbose mode" - (let ([foo 1]) - (run-tests - (test-suite - "Foo" - #:before (lambda () (set! foo 2)) - #:after (lambda () (set! foo 3)) - (test-case - "Foo check" - (check = foo 2))) - 'verbose) - (check = foo 3))) + (with-silent-output + (λ () + (let ([foo 1]) + (run-tests + (test-suite + "Foo" + #:before (lambda () (set! foo 2)) + #:after (lambda () (set! foo 3)) + (test-case + "Foo check" + (check = foo 2))) + 'verbose) + (check = foo 3))))) )) From 596bc0d9fb8e21768d9a4c2aa4cc26e1bb5ba3b1 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Tue, 27 Apr 2010 16:05:36 -0600 Subject: [PATCH 3/7] rename all files .ss -> .rkt original commit: 28b404307793f041bb3363135a2968e283855318 --- collects/schemeunit/{gui.ss => gui.rkt} | 0 collects/schemeunit/private/{base.ss => base.rkt} | 0 collects/schemeunit/private/{check-info.ss => check-info.rkt} | 0 collects/schemeunit/private/{check.ss => check.rkt} | 0 collects/schemeunit/private/{counter.ss => counter.rkt} | 0 collects/schemeunit/private/{format.ss => format.rkt} | 0 collects/schemeunit/private/gui/{cache-box.ss => cache-box.rkt} | 0 collects/schemeunit/private/gui/{config.ss => config.rkt} | 0 collects/schemeunit/private/gui/{controller.ss => controller.rkt} | 0 .../private/gui/{drscheme-link.ss => drscheme-link.rkt} | 0 .../schemeunit/private/gui/{drscheme-ui.ss => drscheme-ui.rkt} | 0 collects/schemeunit/private/gui/{gui.ss => gui.rkt} | 0 collects/schemeunit/private/gui/{interfaces.ss => interfaces.rkt} | 0 collects/schemeunit/private/gui/{model.ss => model.rkt} | 0 collects/schemeunit/private/gui/{model2rml.ss => model2rml.rkt} | 0 collects/schemeunit/private/gui/{rml.ss => rml.rkt} | 0 collects/schemeunit/private/gui/{view.ss => view.rkt} | 0 collects/schemeunit/private/{hash-monad.ss => hash-monad.rkt} | 0 collects/schemeunit/private/{location.ss => location.rkt} | 0 collects/schemeunit/private/{monad.ss => monad.rkt} | 0 .../schemeunit/private/{name-collector.ss => name-collector.rkt} | 0 collects/schemeunit/private/{result.ss => result.rkt} | 0 collects/schemeunit/private/{test-case.ss => test-case.rkt} | 0 collects/schemeunit/private/{test-suite.ss => test-suite.rkt} | 0 collects/schemeunit/private/{test.ss => test.rkt} | 0 collects/schemeunit/private/{text-ui-util.ss => text-ui-util.rkt} | 0 collects/schemeunit/private/{util.ss => util.rkt} | 0 collects/schemeunit/scribblings/{base.ss => base.rkt} | 0 collects/schemeunit/{text-ui.ss => text-ui.rkt} | 0 collects/schemeunit/{tool.ss => tool.rkt} | 0 .../{all-schemeunit-tests.ss => all-schemeunit-tests.rkt} | 0 collects/tests/schemeunit/{base-test.ss => base-test.rkt} | 0 .../tests/schemeunit/{check-info-test.ss => check-info-test.rkt} | 0 collects/tests/schemeunit/{check-test.ss => check-test.rkt} | 0 collects/tests/schemeunit/{counter-test.ss => counter-test.rkt} | 0 collects/tests/schemeunit/{format-test.ss => format-test.rkt} | 0 .../tests/schemeunit/{hash-monad-test.ss => hash-monad-test.rkt} | 0 collects/tests/schemeunit/{location-test.ss => location-test.rkt} | 0 collects/tests/schemeunit/{monad-test.ss => monad-test.rkt} | 0 collects/tests/schemeunit/{result-test.ss => result-test.rkt} | 0 collects/tests/schemeunit/{run-tests.ss => run-tests.rkt} | 0 .../{standalone-check-test.ss => standalone-check-test.rkt} | 0 ...standalone-test-case-test.ss => standalone-test-case-test.rkt} | 0 .../tests/schemeunit/{test-case-test.ss => test-case-test.rkt} | 0 .../tests/schemeunit/{test-suite-test.ss => test-suite-test.rkt} | 0 collects/tests/schemeunit/{test-test.ss => test-test.rkt} | 0 collects/tests/schemeunit/{text-ui-test.ss => text-ui-test.rkt} | 0 .../schemeunit/{text-ui-util-test.ss => text-ui-util-test.rkt} | 0 collects/tests/schemeunit/{util-test.ss => util-test.rkt} | 0 49 files changed, 0 insertions(+), 0 deletions(-) rename collects/schemeunit/{gui.ss => gui.rkt} (100%) rename collects/schemeunit/private/{base.ss => base.rkt} (100%) rename collects/schemeunit/private/{check-info.ss => check-info.rkt} (100%) rename collects/schemeunit/private/{check.ss => check.rkt} (100%) rename collects/schemeunit/private/{counter.ss => counter.rkt} (100%) rename collects/schemeunit/private/{format.ss => format.rkt} (100%) rename collects/schemeunit/private/gui/{cache-box.ss => cache-box.rkt} (100%) rename collects/schemeunit/private/gui/{config.ss => config.rkt} (100%) rename collects/schemeunit/private/gui/{controller.ss => controller.rkt} (100%) rename collects/schemeunit/private/gui/{drscheme-link.ss => drscheme-link.rkt} (100%) rename collects/schemeunit/private/gui/{drscheme-ui.ss => drscheme-ui.rkt} (100%) rename collects/schemeunit/private/gui/{gui.ss => gui.rkt} (100%) rename collects/schemeunit/private/gui/{interfaces.ss => interfaces.rkt} (100%) rename collects/schemeunit/private/gui/{model.ss => model.rkt} (100%) rename collects/schemeunit/private/gui/{model2rml.ss => model2rml.rkt} (100%) rename collects/schemeunit/private/gui/{rml.ss => rml.rkt} (100%) rename collects/schemeunit/private/gui/{view.ss => view.rkt} (100%) rename collects/schemeunit/private/{hash-monad.ss => hash-monad.rkt} (100%) rename collects/schemeunit/private/{location.ss => location.rkt} (100%) rename collects/schemeunit/private/{monad.ss => monad.rkt} (100%) rename collects/schemeunit/private/{name-collector.ss => name-collector.rkt} (100%) rename collects/schemeunit/private/{result.ss => result.rkt} (100%) rename collects/schemeunit/private/{test-case.ss => test-case.rkt} (100%) rename collects/schemeunit/private/{test-suite.ss => test-suite.rkt} (100%) rename collects/schemeunit/private/{test.ss => test.rkt} (100%) rename collects/schemeunit/private/{text-ui-util.ss => text-ui-util.rkt} (100%) rename collects/schemeunit/private/{util.ss => util.rkt} (100%) rename collects/schemeunit/scribblings/{base.ss => base.rkt} (100%) rename collects/schemeunit/{text-ui.ss => text-ui.rkt} (100%) rename collects/schemeunit/{tool.ss => tool.rkt} (100%) rename collects/tests/schemeunit/{all-schemeunit-tests.ss => all-schemeunit-tests.rkt} (100%) rename collects/tests/schemeunit/{base-test.ss => base-test.rkt} (100%) rename collects/tests/schemeunit/{check-info-test.ss => check-info-test.rkt} (100%) rename collects/tests/schemeunit/{check-test.ss => check-test.rkt} (100%) rename collects/tests/schemeunit/{counter-test.ss => counter-test.rkt} (100%) rename collects/tests/schemeunit/{format-test.ss => format-test.rkt} (100%) rename collects/tests/schemeunit/{hash-monad-test.ss => hash-monad-test.rkt} (100%) rename collects/tests/schemeunit/{location-test.ss => location-test.rkt} (100%) rename collects/tests/schemeunit/{monad-test.ss => monad-test.rkt} (100%) rename collects/tests/schemeunit/{result-test.ss => result-test.rkt} (100%) rename collects/tests/schemeunit/{run-tests.ss => run-tests.rkt} (100%) rename collects/tests/schemeunit/{standalone-check-test.ss => standalone-check-test.rkt} (100%) rename collects/tests/schemeunit/{standalone-test-case-test.ss => standalone-test-case-test.rkt} (100%) rename collects/tests/schemeunit/{test-case-test.ss => test-case-test.rkt} (100%) rename collects/tests/schemeunit/{test-suite-test.ss => test-suite-test.rkt} (100%) rename collects/tests/schemeunit/{test-test.ss => test-test.rkt} (100%) rename collects/tests/schemeunit/{text-ui-test.ss => text-ui-test.rkt} (100%) rename collects/tests/schemeunit/{text-ui-util-test.ss => text-ui-util-test.rkt} (100%) rename collects/tests/schemeunit/{util-test.ss => util-test.rkt} (100%) diff --git a/collects/schemeunit/gui.ss b/collects/schemeunit/gui.rkt similarity index 100% rename from collects/schemeunit/gui.ss rename to collects/schemeunit/gui.rkt diff --git a/collects/schemeunit/private/base.ss b/collects/schemeunit/private/base.rkt similarity index 100% rename from collects/schemeunit/private/base.ss rename to collects/schemeunit/private/base.rkt diff --git a/collects/schemeunit/private/check-info.ss b/collects/schemeunit/private/check-info.rkt similarity index 100% rename from collects/schemeunit/private/check-info.ss rename to collects/schemeunit/private/check-info.rkt diff --git a/collects/schemeunit/private/check.ss b/collects/schemeunit/private/check.rkt similarity index 100% rename from collects/schemeunit/private/check.ss rename to collects/schemeunit/private/check.rkt diff --git a/collects/schemeunit/private/counter.ss b/collects/schemeunit/private/counter.rkt similarity index 100% rename from collects/schemeunit/private/counter.ss rename to collects/schemeunit/private/counter.rkt diff --git a/collects/schemeunit/private/format.ss b/collects/schemeunit/private/format.rkt similarity index 100% rename from collects/schemeunit/private/format.ss rename to collects/schemeunit/private/format.rkt diff --git a/collects/schemeunit/private/gui/cache-box.ss b/collects/schemeunit/private/gui/cache-box.rkt similarity index 100% rename from collects/schemeunit/private/gui/cache-box.ss rename to collects/schemeunit/private/gui/cache-box.rkt diff --git a/collects/schemeunit/private/gui/config.ss b/collects/schemeunit/private/gui/config.rkt similarity index 100% rename from collects/schemeunit/private/gui/config.ss rename to collects/schemeunit/private/gui/config.rkt diff --git a/collects/schemeunit/private/gui/controller.ss b/collects/schemeunit/private/gui/controller.rkt similarity index 100% rename from collects/schemeunit/private/gui/controller.ss rename to collects/schemeunit/private/gui/controller.rkt diff --git a/collects/schemeunit/private/gui/drscheme-link.ss b/collects/schemeunit/private/gui/drscheme-link.rkt similarity index 100% rename from collects/schemeunit/private/gui/drscheme-link.ss rename to collects/schemeunit/private/gui/drscheme-link.rkt diff --git a/collects/schemeunit/private/gui/drscheme-ui.ss b/collects/schemeunit/private/gui/drscheme-ui.rkt similarity index 100% rename from collects/schemeunit/private/gui/drscheme-ui.ss rename to collects/schemeunit/private/gui/drscheme-ui.rkt diff --git a/collects/schemeunit/private/gui/gui.ss b/collects/schemeunit/private/gui/gui.rkt similarity index 100% rename from collects/schemeunit/private/gui/gui.ss rename to collects/schemeunit/private/gui/gui.rkt diff --git a/collects/schemeunit/private/gui/interfaces.ss b/collects/schemeunit/private/gui/interfaces.rkt similarity index 100% rename from collects/schemeunit/private/gui/interfaces.ss rename to collects/schemeunit/private/gui/interfaces.rkt diff --git a/collects/schemeunit/private/gui/model.ss b/collects/schemeunit/private/gui/model.rkt similarity index 100% rename from collects/schemeunit/private/gui/model.ss rename to collects/schemeunit/private/gui/model.rkt diff --git a/collects/schemeunit/private/gui/model2rml.ss b/collects/schemeunit/private/gui/model2rml.rkt similarity index 100% rename from collects/schemeunit/private/gui/model2rml.ss rename to collects/schemeunit/private/gui/model2rml.rkt diff --git a/collects/schemeunit/private/gui/rml.ss b/collects/schemeunit/private/gui/rml.rkt similarity index 100% rename from collects/schemeunit/private/gui/rml.ss rename to collects/schemeunit/private/gui/rml.rkt diff --git a/collects/schemeunit/private/gui/view.ss b/collects/schemeunit/private/gui/view.rkt similarity index 100% rename from collects/schemeunit/private/gui/view.ss rename to collects/schemeunit/private/gui/view.rkt diff --git a/collects/schemeunit/private/hash-monad.ss b/collects/schemeunit/private/hash-monad.rkt similarity index 100% rename from collects/schemeunit/private/hash-monad.ss rename to collects/schemeunit/private/hash-monad.rkt diff --git a/collects/schemeunit/private/location.ss b/collects/schemeunit/private/location.rkt similarity index 100% rename from collects/schemeunit/private/location.ss rename to collects/schemeunit/private/location.rkt diff --git a/collects/schemeunit/private/monad.ss b/collects/schemeunit/private/monad.rkt similarity index 100% rename from collects/schemeunit/private/monad.ss rename to collects/schemeunit/private/monad.rkt diff --git a/collects/schemeunit/private/name-collector.ss b/collects/schemeunit/private/name-collector.rkt similarity index 100% rename from collects/schemeunit/private/name-collector.ss rename to collects/schemeunit/private/name-collector.rkt diff --git a/collects/schemeunit/private/result.ss b/collects/schemeunit/private/result.rkt similarity index 100% rename from collects/schemeunit/private/result.ss rename to collects/schemeunit/private/result.rkt diff --git a/collects/schemeunit/private/test-case.ss b/collects/schemeunit/private/test-case.rkt similarity index 100% rename from collects/schemeunit/private/test-case.ss rename to collects/schemeunit/private/test-case.rkt diff --git a/collects/schemeunit/private/test-suite.ss b/collects/schemeunit/private/test-suite.rkt similarity index 100% rename from collects/schemeunit/private/test-suite.ss rename to collects/schemeunit/private/test-suite.rkt diff --git a/collects/schemeunit/private/test.ss b/collects/schemeunit/private/test.rkt similarity index 100% rename from collects/schemeunit/private/test.ss rename to collects/schemeunit/private/test.rkt diff --git a/collects/schemeunit/private/text-ui-util.ss b/collects/schemeunit/private/text-ui-util.rkt similarity index 100% rename from collects/schemeunit/private/text-ui-util.ss rename to collects/schemeunit/private/text-ui-util.rkt diff --git a/collects/schemeunit/private/util.ss b/collects/schemeunit/private/util.rkt similarity index 100% rename from collects/schemeunit/private/util.ss rename to collects/schemeunit/private/util.rkt diff --git a/collects/schemeunit/scribblings/base.ss b/collects/schemeunit/scribblings/base.rkt similarity index 100% rename from collects/schemeunit/scribblings/base.ss rename to collects/schemeunit/scribblings/base.rkt diff --git a/collects/schemeunit/text-ui.ss b/collects/schemeunit/text-ui.rkt similarity index 100% rename from collects/schemeunit/text-ui.ss rename to collects/schemeunit/text-ui.rkt diff --git a/collects/schemeunit/tool.ss b/collects/schemeunit/tool.rkt similarity index 100% rename from collects/schemeunit/tool.ss rename to collects/schemeunit/tool.rkt diff --git a/collects/tests/schemeunit/all-schemeunit-tests.ss b/collects/tests/schemeunit/all-schemeunit-tests.rkt similarity index 100% rename from collects/tests/schemeunit/all-schemeunit-tests.ss rename to collects/tests/schemeunit/all-schemeunit-tests.rkt diff --git a/collects/tests/schemeunit/base-test.ss b/collects/tests/schemeunit/base-test.rkt similarity index 100% rename from collects/tests/schemeunit/base-test.ss rename to collects/tests/schemeunit/base-test.rkt diff --git a/collects/tests/schemeunit/check-info-test.ss b/collects/tests/schemeunit/check-info-test.rkt similarity index 100% rename from collects/tests/schemeunit/check-info-test.ss rename to collects/tests/schemeunit/check-info-test.rkt diff --git a/collects/tests/schemeunit/check-test.ss b/collects/tests/schemeunit/check-test.rkt similarity index 100% rename from collects/tests/schemeunit/check-test.ss rename to collects/tests/schemeunit/check-test.rkt diff --git a/collects/tests/schemeunit/counter-test.ss b/collects/tests/schemeunit/counter-test.rkt similarity index 100% rename from collects/tests/schemeunit/counter-test.ss rename to collects/tests/schemeunit/counter-test.rkt diff --git a/collects/tests/schemeunit/format-test.ss b/collects/tests/schemeunit/format-test.rkt similarity index 100% rename from collects/tests/schemeunit/format-test.ss rename to collects/tests/schemeunit/format-test.rkt diff --git a/collects/tests/schemeunit/hash-monad-test.ss b/collects/tests/schemeunit/hash-monad-test.rkt similarity index 100% rename from collects/tests/schemeunit/hash-monad-test.ss rename to collects/tests/schemeunit/hash-monad-test.rkt diff --git a/collects/tests/schemeunit/location-test.ss b/collects/tests/schemeunit/location-test.rkt similarity index 100% rename from collects/tests/schemeunit/location-test.ss rename to collects/tests/schemeunit/location-test.rkt diff --git a/collects/tests/schemeunit/monad-test.ss b/collects/tests/schemeunit/monad-test.rkt similarity index 100% rename from collects/tests/schemeunit/monad-test.ss rename to collects/tests/schemeunit/monad-test.rkt diff --git a/collects/tests/schemeunit/result-test.ss b/collects/tests/schemeunit/result-test.rkt similarity index 100% rename from collects/tests/schemeunit/result-test.ss rename to collects/tests/schemeunit/result-test.rkt diff --git a/collects/tests/schemeunit/run-tests.ss b/collects/tests/schemeunit/run-tests.rkt similarity index 100% rename from collects/tests/schemeunit/run-tests.ss rename to collects/tests/schemeunit/run-tests.rkt diff --git a/collects/tests/schemeunit/standalone-check-test.ss b/collects/tests/schemeunit/standalone-check-test.rkt similarity index 100% rename from collects/tests/schemeunit/standalone-check-test.ss rename to collects/tests/schemeunit/standalone-check-test.rkt diff --git a/collects/tests/schemeunit/standalone-test-case-test.ss b/collects/tests/schemeunit/standalone-test-case-test.rkt similarity index 100% rename from collects/tests/schemeunit/standalone-test-case-test.ss rename to collects/tests/schemeunit/standalone-test-case-test.rkt diff --git a/collects/tests/schemeunit/test-case-test.ss b/collects/tests/schemeunit/test-case-test.rkt similarity index 100% rename from collects/tests/schemeunit/test-case-test.ss rename to collects/tests/schemeunit/test-case-test.rkt diff --git a/collects/tests/schemeunit/test-suite-test.ss b/collects/tests/schemeunit/test-suite-test.rkt similarity index 100% rename from collects/tests/schemeunit/test-suite-test.ss rename to collects/tests/schemeunit/test-suite-test.rkt diff --git a/collects/tests/schemeunit/test-test.ss b/collects/tests/schemeunit/test-test.rkt similarity index 100% rename from collects/tests/schemeunit/test-test.ss rename to collects/tests/schemeunit/test-test.rkt diff --git a/collects/tests/schemeunit/text-ui-test.ss b/collects/tests/schemeunit/text-ui-test.rkt similarity index 100% rename from collects/tests/schemeunit/text-ui-test.ss rename to collects/tests/schemeunit/text-ui-test.rkt diff --git a/collects/tests/schemeunit/text-ui-util-test.ss b/collects/tests/schemeunit/text-ui-util-test.rkt similarity index 100% rename from collects/tests/schemeunit/text-ui-util-test.ss rename to collects/tests/schemeunit/text-ui-util-test.rkt diff --git a/collects/tests/schemeunit/util-test.ss b/collects/tests/schemeunit/util-test.rkt similarity index 100% rename from collects/tests/schemeunit/util-test.ss rename to collects/tests/schemeunit/util-test.rkt From 2d0c15f9100e9c346fe4cc11dfe85416a3f9d6ef Mon Sep 17 00:00:00 2001 From: Jay McCarthy Date: Mon, 3 May 2010 22:30:32 -0600 Subject: [PATCH 4/7] Adding typed/racunit and fixing racunit exports vis a vis documentation original commit: 445a143f5193e874d88bddfa9fc9ef1b52211f26 --- collects/racunit/private/check.rkt | 4 ++++ collects/racunit/private/test.rkt | 11 ++++++++++- collects/racunit/scribblings/check.scrbl | 2 ++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/collects/racunit/private/check.rkt b/collects/racunit/private/check.rkt index f478a33..72ccf8f 100644 --- a/collects/racunit/private/check.rkt +++ b/collects/racunit/private/check.rkt @@ -30,6 +30,7 @@ check-= check-not-false check-not-eq? + check-not-eqv? check-not-equal? fail) @@ -263,6 +264,9 @@ (define-simple-check (check-not-eq? expr1 expr2) (not (eq? expr1 expr2))) +(define-simple-check (check-not-eqv? expr1 expr2) + (not (eqv? expr1 expr2))) + (define-simple-check (check-not-equal? expr1 expr2) (not (equal? expr1 expr2))) diff --git a/collects/racunit/private/test.rkt b/collects/racunit/private/test.rkt index 0fabb9f..9c9c7dd 100644 --- a/collects/racunit/private/test.rkt +++ b/collects/racunit/private/test.rkt @@ -9,7 +9,8 @@ "test-suite.rkt" "util.rkt") -(provide (struct-out exn:test:check) +(provide (struct-out exn:test) + (struct-out exn:test:check) (struct-out check-info) (struct-out test-result) (struct-out test-failure) @@ -45,6 +46,10 @@ (rename-out [make-racunit-test-case make-test-case] [racunit-test-case? test-case?] [racunit-test-suite? test-suite?]) + current-test-name + current-test-case-around + test-suite-test-case-around + test-suite-check-around define-test-suite define/provide-test-suite @@ -80,6 +85,9 @@ define-check define-simple-check define-binary-check + + current-check-handler + current-check-around check check-exn @@ -93,6 +101,7 @@ check-= check-not-false check-not-eq? + check-not-eqv? check-not-equal? check-regexp-match fail) diff --git a/collects/racunit/scribblings/check.scrbl b/collects/racunit/scribblings/check.scrbl index d95924c..91c7e0e 100644 --- a/collects/racunit/scribblings/check.scrbl +++ b/collects/racunit/scribblings/check.scrbl @@ -36,6 +36,7 @@ For example, the following check succeeds: @defproc*[([(check-eq? (v1 any) (v2 any) (message string? "")) #t] [(check-not-eq? (v1 any) (v2 any) (message string? "")) #t] [(check-eqv? (v1 any) (v2 any) (message string? "")) #t] + [(check-not-eqv? (v1 any) (v2 any) (message string? "")) #t] [(check-equal? (v1 any) (v2 any) (message string? "")) #t] [(check-not-equal? (v1 any) (v2 any) (message string? "")) #t])]{ @@ -50,6 +51,7 @@ For example, the following checks all fail: (check-eq? (list 1) (list 1) "allocated data not eq?") (check-not-eq? 1 1 "integers are eq?") (check-eqv? 1 1.0 "not eqv?") + (check-not-eqv? 1 1 "integers are eqv?") (check-equal? 1 1.0 "not equal?") (check-not-equal? (list 1) (list 1) "equal?") ] From 6a18313c2273e7a9943a99eb14f5a30536bafad2 Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Tue, 4 May 2010 16:52:47 -0400 Subject: [PATCH 5/7] don't make an alias just for `raise' original commit: 9ec2e41db06bdc0713b4c5b5b10ac5c1edd73f91 --- collects/racunit/private/test-case.rkt | 9 +-------- collects/racunit/scribblings/check.scrbl | 4 +--- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/collects/racunit/private/test-case.rkt b/collects/racunit/private/test-case.rkt index 3d46188..ff1f578 100644 --- a/collects/racunit/private/test-case.rkt +++ b/collects/racunit/private/test-case.rkt @@ -56,13 +56,6 @@ (if (procedure? v) v (raise-type-error 'current-test-case-around "procedure" v))))) - -;; test-case-check-handler : (-> exn void) -;; -;; Raise any exceptions that occur in checks, halting -;; evaluation of following expression within the scope of -;; the test case -(define test-case-check-handler raise) (define-syntax (test-begin stx) (syntax-case stx () @@ -71,7 +64,7 @@ ((current-test-case-around) (lambda () (parameterize - ([current-check-handler test-case-check-handler] + ([current-check-handler raise] [current-check-around check-around]) expr ...))))] [_ diff --git a/collects/racunit/scribblings/check.scrbl b/collects/racunit/scribblings/check.scrbl index 91c7e0e..5c50ce3 100644 --- a/collects/racunit/scribblings/check.scrbl +++ b/collects/racunit/scribblings/check.scrbl @@ -332,9 +332,7 @@ of these parameters. @defparam[current-check-handler handler (-> any/c any/c)]{ Parameter containing the function that handles exceptions -raised by check failures. The default behaviour is to print -an error message including the exception message and stack -trace. } +raised by check failures. The default value is @racket[raise]. } @defparam[current-check-around check (-> thunk any/c)]{ From 5a8e2c0dfd0c552f9eac03b6b9ce3c5f4c427dcd Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Tue, 4 May 2010 17:56:28 -0400 Subject: [PATCH 6/7] use [] original commit: 27a8ac62f6463998c60169e98909cddc42f95e2b --- collects/racunit/private/check.rkt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/collects/racunit/private/check.rkt b/collects/racunit/private/check.rkt index 72ccf8f..2e504a5 100644 --- a/collects/racunit/private/check.rkt +++ b/collects/racunit/private/check.rkt @@ -175,7 +175,7 @@ (define-syntax define-binary-check (syntax-rules () - ((_ (name expr1 expr2) expr ...) + [(_ (name expr1 expr2) expr ...) (define-check (name expr1 expr2) (with-check-info* (list (make-check-actual expr1) @@ -184,8 +184,8 @@ (let ((result (begin expr ...))) (if result result - (fail-check))))))) - ((_ (name pred expr1 expr2)) + (fail-check))))))] + [(_ (name pred expr1 expr2)) (define-check (name expr1 expr2) (with-check-info* (list (make-check-actual expr1) @@ -193,7 +193,7 @@ (lambda () (if (pred expr1 expr2) #t - (fail-check)))))))) + (fail-check)))))])) (define-check (check-exn pred thunk) (let/ec succeed From 6c93ea7b5caaa63f521f65f9483abb246c7fe7d9 Mon Sep 17 00:00:00 2001 From: Jay McCarthy Date: Fri, 7 May 2010 12:44:12 -0600 Subject: [PATCH 7/7] Fixing test re printing output... again :) original commit: 8c918c489a932763f0f331446446403ff406aa27 --- collects/tests/racunit/text-ui-test.rkt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/collects/tests/racunit/text-ui-test.rkt b/collects/tests/racunit/text-ui-test.rkt index 11ed11f..11ee469 100644 --- a/collects/tests/racunit/text-ui-test.rkt +++ b/collects/tests/racunit/text-ui-test.rkt @@ -119,7 +119,7 @@ (with-all-output-to-string (failing-binary-test/complex-params)))]) (check string-contains op - "`((0 1 2 3 4 5 6 7 8 9 10 11 12 13 14) + "'((0 1 2 3 4 5 6 7 8 9 10 11 12 13 14) (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14) (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14))"))) @@ -129,7 +129,7 @@ (with-all-output-to-string (failing-test/complex-params)))]) (check string-contains op - "`((0 1 2 3 4 5 6 7 8 9 10 11 12 13 14) + "'((0 1 2 3 4 5 6 7 8 9 10 11 12 13 14) (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14) (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14))")))