From 3cc93d172ea1927479d09096d12ba4387209612a Mon Sep 17 00:00:00 2001 From: "resyntax-ci[bot]" <181813515+resyntax-ci[bot]@users.noreply.github.com> Date: Sun, 19 Jan 2025 00:10:15 +0000 Subject: [PATCH 1/8] Fix 1 occurrence of `cond-let-to-cond-define` Internal definitions are recommended instead of `let` expressions, to reduce nesting. --- drracket-test/tests/drracket/private/gui.rkt | 35 ++++++-------------- 1 file changed, 11 insertions(+), 24 deletions(-) diff --git a/drracket-test/tests/drracket/private/gui.rkt b/drracket-test/tests/drracket/private/gui.rkt index b4709ac1b..583036354 100644 --- a/drracket-test/tests/drracket/private/gui.rkt +++ b/drracket-test/tests/drracket/private/gui.rkt @@ -17,30 +17,17 @@ (cond [(= i (string-length string1)) (only-whitespace? string2 j)] [(= j (string-length string2)) (only-whitespace? string1 i)] - [else (let ([c1 (string-ref string1 i)] - [c2 (string-ref string2 j)]) - (cond - [in-whitespace? - (cond - [(whitespace? c1) - (loop (+ i 1) - j - #t)] - [(whitespace? c2) - (loop i - (+ j 1) - #t)] - [else (loop i j #f)])] - [(and (whitespace? c1) - (whitespace? c2)) - (loop (+ i 1) - (+ j 1) - #t)] - [(char=? c1 c2) - (loop (+ i 1) - (+ j 1) - #f)] - [else #f]))]))) + [else (define c1 (string-ref string1 i)) + (define c2 (string-ref string2 j)) + (cond + [in-whitespace? + (cond + [(whitespace? c1) (loop (+ i 1) j #t)] + [(whitespace? c2) (loop i (+ j 1) #t)] + [else (loop i j #f)])] + [(and (whitespace? c1) (whitespace? c2)) (loop (+ i 1) (+ j 1) #t)] + [(char=? c1 c2) (loop (+ i 1) (+ j 1) #f)] + [else #f])]))) ;; whitespace? : char -> boolean ;; deteremines if `c' is whitespace From b3be073878558013bbc7a068385720a2b6598760 Mon Sep 17 00:00:00 2001 From: "resyntax-ci[bot]" <181813515+resyntax-ci[bot]@users.noreply.github.com> Date: Sun, 19 Jan 2025 00:10:15 +0000 Subject: [PATCH 2/8] Fix 2 occurrences of `provide/contract-to-contract-out` The `provide/contract` form is a legacy form made obsolete by `contract-out`. --- drracket-test/tests/drracket/private/drracket-test-util.rkt | 5 ++--- drracket-test/tests/drracket/private/repl-test.rkt | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/drracket-test/tests/drracket/private/drracket-test-util.rkt b/drracket-test/tests/drracket/private/drracket-test-util.rkt index 507729b50..54e013798 100644 --- a/drracket-test/tests/drracket/private/drracket-test-util.rkt +++ b/drracket-test/tests/drracket/private/drracket-test-util.rkt @@ -11,9 +11,8 @@ "gui.rkt" "no-fw-test-util.rkt") - (provide/contract - [use-get/put-dialog (-> (-> any) path? void?)] - [set-module-language! (->* () (boolean?) void?)]) + (provide (contract-out [use-get/put-dialog (-> (-> any) path? void?)] + [set-module-language! (->* () (boolean?) void?)])) (provide queue-callback/res fire-up-drracket-and-run-tests diff --git a/drracket-test/tests/drracket/private/repl-test.rkt b/drracket-test/tests/drracket/private/repl-test.rkt index 1f3ec2624..ccf01c10a 100644 --- a/drracket-test/tests/drracket/private/repl-test.rkt +++ b/drracket-test/tests/drracket/private/repl-test.rkt @@ -18,7 +18,7 @@ This produces an ACK message mred framework) -(provide/contract [run-test (-> (listof (or/c 'raw 'debug 'debug/profile 'misc)) any)]) +(provide (contract-out [run-test (-> (listof (or/c 'raw 'debug 'debug/profile 'misc)) any)])) (define-struct loc (line col offset)) ;; loc = (make-loc number number number) From 2de1c08a68f79afc3a75882b655b90a8e8fe1009 Mon Sep 17 00:00:00 2001 From: "resyntax-ci[bot]" <181813515+resyntax-ci[bot]@users.noreply.github.com> Date: Sun, 19 Jan 2025 00:10:15 +0000 Subject: [PATCH 3/8] Fix 10 occurrences of `let-to-define` Internal definitions are recommended instead of `let` expressions, to reduce nesting. --- .../drracket/private/drracket-test-util.rkt | 38 +++--- .../tests/drracket/private/easter-egg-lib.rkt | 7 +- .../private/module-lang-test-utils.rkt | 50 ++++--- .../drracket/private/no-fw-test-util.rkt | 100 +++++++------- .../tests/drracket/private/repl-test.rkt | 126 +++++++++--------- 5 files changed, 158 insertions(+), 163 deletions(-) diff --git a/drracket-test/tests/drracket/private/drracket-test-util.rkt b/drracket-test/tests/drracket/private/drracket-test-util.rkt index 54e013798..1869ed599 100644 --- a/drracket-test/tests/drracket/private/drracket-test-util.rkt +++ b/drracket-test/tests/drracket/private/drracket-test-util.rkt @@ -59,25 +59,25 @@ ;; filename is a string naming a file that should be typed into the dialog (define (use-get/put-dialog open-dialog filename) (not-on-eventspace-handler-thread 'use-get/put-dialog) - (let ([drs (wait-for-drracket-frame)]) - (with-handlers ([(lambda (x) #t) - (lambda (x) - (fw:preferences:set 'framework:file-dialogs 'std) - (raise x))]) - (fw:preferences:set 'framework:file-dialogs 'common) - (open-dialog) - (let ([dlg (wait-for-new-frame drs)]) - (send (find-labelled-window "Filename:" #f (fw:test:get-active-top-level-window)) focus) - (fw:test:keystroke #\a (list (case (system-type) - [(windows) 'control] - [(macosx macos) 'meta] - [(unix) 'control] - [else (error 'use-get/put-dialog "unknown platform: ~s\n" - (system-type))]))) - (for-each fw:test:keystroke (string->list (path->string filename))) - (fw:test:button-push "OK") - (wait-for-new-frame dlg)) - (fw:preferences:set 'framework:file-dialogs 'std)))) + (define drs (wait-for-drracket-frame)) + (with-handlers ([(lambda (x) #t) (lambda (x) + (fw:preferences:set 'framework:file-dialogs 'std) + (raise x))]) + (fw:preferences:set 'framework:file-dialogs 'common) + (open-dialog) + (let ([dlg (wait-for-new-frame drs)]) + (send (find-labelled-window "Filename:" #f (fw:test:get-active-top-level-window)) focus) + (fw:test:keystroke + #\a + (list (case (system-type) + [(windows) 'control] + [(macosx macos) 'meta] + [(unix) 'control] + [else (error 'use-get/put-dialog "unknown platform: ~s\n" (system-type))]))) + (for-each fw:test:keystroke (string->list (path->string filename))) + (fw:test:button-push "OK") + (wait-for-new-frame dlg)) + (fw:preferences:set 'framework:file-dialogs 'std))) (define (test-util-error fmt . args) (raise (make-exn (apply fmt args) (current-continuation-marks)))) diff --git a/drracket-test/tests/drracket/private/easter-egg-lib.rkt b/drracket-test/tests/drracket/private/easter-egg-lib.rkt index f22c39961..e2b53c498 100644 --- a/drracket-test/tests/drracket/private/easter-egg-lib.rkt +++ b/drracket-test/tests/drracket/private/easter-egg-lib.rkt @@ -113,10 +113,9 @@ and then loading the framework after that. (define (verify-drracket-frame-frontmost function-name frame) (on-eventspace-handler-thread 'verify-drracket-frame-frontmost) - (let ([tl (test:get-active-top-level-window)]) - (unless (and (eq? frame tl) - (drracket-frame? tl)) - (error function-name "drracket frame not frontmost: ~e (found ~e)" frame tl)))) + (define tl (test:get-active-top-level-window)) + (unless (and (eq? frame tl) (drracket-frame? tl)) + (error function-name "drracket frame not frontmost: ~e (found ~e)" frame tl))) (define (set-module-language! drr-frame) (test:menu-select "Language" "Choose Language…") diff --git a/drracket-test/tests/drracket/private/module-lang-test-utils.rkt b/drracket-test/tests/drracket/private/module-lang-test-utils.rkt index 3c68ea7fd..72f4bb418 100644 --- a/drracket-test/tests/drracket/private/module-lang-test-utils.rkt +++ b/drracket-test/tests/drracket/private/module-lang-test-utils.rkt @@ -99,32 +99,30 @@ (define output-start-paragraph 2) (when ints - (let ([after-execute-output - (queue-callback/res - (λ () - (send interactions-text - get-text - (send interactions-text paragraph-start-position 2) - (send interactions-text paragraph-end-position 2))))]) - (unless (or (test-all? test) (string=? "> " after-execute-output)) - (eprintf (string-append - "FAILED (line ~a): ~a\n" - " ~a\n" - " expected no output after execution, got: ~s\n") - (test-line test) - (test-definitions test) - (or (test-interactions test) 'no-interactions) - after-execute-output) - (k (void))) - (insert-in-interactions drs ints) - ;; set to be the paragraph right after the insertion. - (set! output-start-paragraph - (queue-callback/res - (λ () (+ (send interactions-text position-paragraph - (send interactions-text last-position)) - 1)))) - (test:keystroke #\return '(alt)) - (wait-for-computation drs))) + (define after-execute-output + (queue-callback/res (λ () + (send interactions-text + get-text + (send interactions-text paragraph-start-position 2) + (send interactions-text paragraph-end-position 2))))) + (unless (or (test-all? test) (string=? "> " after-execute-output)) + (eprintf (string-append "FAILED (line ~a): ~a\n" + " ~a\n" + " expected no output after execution, got: ~s\n") + (test-line test) + (test-definitions test) + (or (test-interactions test) 'no-interactions) + after-execute-output) + (k (void))) + (insert-in-interactions drs ints) + ;; set to be the paragraph right after the insertion. + (set! output-start-paragraph + (queue-callback/res + (λ () + (+ (send interactions-text position-paragraph (send interactions-text last-position)) + 1)))) + (test:keystroke #\return '(alt)) + (wait-for-computation drs)) (define text (queue-callback/res diff --git a/drracket-test/tests/drracket/private/no-fw-test-util.rkt b/drracket-test/tests/drracket/private/no-fw-test-util.rkt index a47a10584..79e7a3a15 100644 --- a/drracket-test/tests/drracket/private/no-fw-test-util.rkt +++ b/drracket-test/tests/drracket/private/no-fw-test-util.rkt @@ -66,52 +66,52 @@ ;; change the preferences system so that it doesn't write to ;; a file; partly to avoid problems of concurrency in drdr ;; but also to make the test suite easier for everyone to run. - (let ([prefs-table (make-hash)]) - (preferences:low-level-put-preferences - (λ (names vals) - (for ([name (in-list names)] - [val (in-list vals)]) - (hash-set! prefs-table name val)))) - (preferences:low-level-get-preference - (λ (name [fail (lambda () #f)]) - (hash-ref prefs-table name fail))) - - ;; set all preferences to their defaults (some pref values may have - ;; been read by this point, but hopefully that won't affect the - ;; startup of drracket) - (preferences:restore-defaults) - - ;; initialize some preferences to simulate these - ;; being saved already in the user's prefs file - ;; call preferences:set too since the prefs file - ;; may have been "read" already at this point - (for ([pref (in-list prefs)]) - (define pref-key (list-ref pref 0)) - (define pref-val (list-ref pref 1)) - (define m (regexp-match #rx"^plt:framework-pref:(.*)$" (symbol->string pref-key))) - (cond - [m - (hash-set! prefs-table pref-key pref-val) - (define fw-pref-key (string->symbol (list-ref m 1))) - (when (preferences:default-set? fw-pref-key) - (preferences:set fw-pref-key pref-val))] - [else - ;; this currently doesn't happen, and it is easy to forget - ;; that prefix, so print a message here to remind - (printf "WARNING: setting a preference that isn't set via the framework: ~s\n" - pref-key)])))) + (define prefs-table (make-hash)) + (preferences:low-level-put-preferences (λ (names vals) + (for ([name (in-list names)] + [val (in-list vals)]) + (hash-set! prefs-table name val)))) + (preferences:low-level-get-preference (λ (name [fail (lambda () #f)]) + (hash-ref prefs-table name fail))) + + ;; set all preferences to their defaults (some pref values may have + ;; been read by this point, but hopefully that won't affect the + ;; startup of drracket) + (preferences:restore-defaults) + + ;; initialize some preferences to simulate these + ;; being saved already in the user's prefs file + ;; call preferences:set too since the prefs file + ;; may have been "read" already at this point + (for ([pref (in-list prefs)]) + (define pref-key (list-ref pref 0)) + (define pref-val (list-ref pref 1)) + (define m (regexp-match #rx"^plt:framework-pref:(.*)$" (symbol->string pref-key))) + (cond + [m + (hash-set! prefs-table pref-key pref-val) + (define fw-pref-key (string->symbol (list-ref m 1))) + (when (preferences:default-set? fw-pref-key) + (preferences:set fw-pref-key pref-val))] + [else + ;; this currently doesn't happen, and it is easy to forget + ;; that prefix, so print a message here to remind + (printf "WARNING: setting a preference that isn't set via the framework: ~s\n" pref-key)]))) (define (queue-callback/res thunk) (not-on-eventspace-handler-thread 'queue-callback/res #:more (λ () (format "\n thunk: ~e" thunk))) - (let ([c (make-channel)]) - (queue-callback (λ () (channel-put c (with-handlers ((exn:fail? values)) - (call-with-values thunk list)))) - #f) - (define res (channel-get c)) - (when (exn? res) (raise res)) - (apply values res))) + (define c (make-channel)) + (queue-callback (λ () + (channel-put c + (with-handlers ([exn:fail? values]) + (call-with-values thunk list)))) + #f) + (define res (channel-get c)) + (when (exn? res) + (raise res)) + (apply values res)) ;; poll-until : (-> alpha) number (-> alpha) -> alpha ;; waits until pred return a true value and returns that. @@ -122,15 +122,15 @@ (error 'poll-until "timeout after ~e secs, ~e never returned a true value" secs pred))]) - (let ([step 1/20]) - (let loop ([counter secs]) - (if (<= counter 0) - (fail) - (let ([result (pred)]) - (or result - (begin - (sleep step) - (loop (- counter step))))))))) + (define step 1/20) + (let loop ([counter secs]) + (if (<= counter 0) + (fail) + (let ([result (pred)]) + (or result + (begin + (sleep step) + (loop (- counter step)))))))) (define (wait-for-events-in-frame-eventspace fr) (define sema (make-semaphore 0)) diff --git a/drracket-test/tests/drracket/private/repl-test.rkt b/drracket-test/tests/drracket/private/repl-test.rkt index ccf01c10a..7fceab7a2 100644 --- a/drracket-test/tests/drracket/private/repl-test.rkt +++ b/drracket-test/tests/drracket/private/repl-test.rkt @@ -1047,15 +1047,15 @@ This produces an ACK message (define snip (queue-callback/res (lambda () - (let* ([start (send ints-text paragraph-start-position 2)] - ;; since the fraction is supposed to be one char wide, we just - ;; select one char, so that, if the regular number prints out, - ;; this test will fail. - [end (+ start 1)]) - (send ints-text split-snip start) - (send ints-text split-snip end) - (define snip (send ints-text find-snip start 'after)) - (and snip (send snip copy)))))) + (define start (send ints-text paragraph-start-position 2)) + ;; since the fraction is supposed to be one char wide, we just + ;; select one char, so that, if the regular number prints out, + ;; this test will fail. + (define end (+ start 1)) + (send ints-text split-snip start) + (send ints-text split-snip end) + (define snip (send ints-text find-snip start 'after)) + (and snip (send snip copy))))) (clear-definitions drr-frame) (type-in-definitions drr-frame "(+ ") (queue-callback/res @@ -1318,16 +1318,16 @@ This produces an ACK message (wait-for-drr-frame-computation) (for-each test:keystroke (string->list "x")) - (let ([start (+ 1 (queue-callback/res (λ () (send ints-text last-position))))]) - (test:keystroke #\return) - (wait-for-drr-frame-computation) - - (let* ([end (- (get-int-pos) 1)] - [output (fetch-output drr-frame start end)] - [expected #rx"x:.*cannot reference an identifier before its definition"]) - (unless (regexp-match expected output) - (failure) - (eprintf "callcc-test: expected something matching ~s, got ~s\n" expected output))))) + (define start (+ 1 (queue-callback/res (λ () (send ints-text last-position))))) + (test:keystroke #\return) + (wait-for-drr-frame-computation) + + (define end (- (get-int-pos) 1)) + (define output (fetch-output drr-frame start end)) + (define expected #rx"x:.*cannot reference an identifier before its definition") + (unless (regexp-match expected output) + (failure) + (eprintf "callcc-test: expected something matching ~s, got ~s\n" expected output))) (define (random-seed-test) (define expression @@ -1338,57 +1338,55 @@ This produces an ACK message (wait-for-drr-frame-computation) (insert-in-interactions drr-frame expression) - (let ([start1 (+ 1 (queue-callback/res (λ () (send ints-text last-position))))]) - (test:keystroke #\return) - (wait-for-drr-frame-computation) - (let ([output1 (fetch-output drr-frame start1 (- (get-int-pos) 1))]) - (insert-in-interactions drr-frame expression) - (let ([start2 (+ 1 (queue-callback/res (λ () (send ints-text last-position))))]) - (test:keystroke #\return) - (wait-for-drr-frame-computation) - (let ([output2 (fetch-output drr-frame start2 (- (get-int-pos) 1))]) - (unless (equal? output1 output2) - (failure) - (eprintf "random-seed-test: expected\n ~s\nand\n ~s\nto be the same" - output1 - output2))))))) + (define start1 (+ 1 (queue-callback/res (λ () (send ints-text last-position))))) + (test:keystroke #\return) + (wait-for-drr-frame-computation) + (define output1 (fetch-output drr-frame start1 (- (get-int-pos) 1))) + (insert-in-interactions drr-frame expression) + (define start2 (+ 1 (queue-callback/res (λ () (send ints-text last-position))))) + (test:keystroke #\return) + (wait-for-drr-frame-computation) + (define output2 (fetch-output drr-frame start2 (- (get-int-pos) 1))) + (unless (equal? output1 output2) + (failure) + (eprintf "random-seed-test: expected\n ~s\nand\n ~s\nto be the same" output1 output2))) (define (top-interaction-test) (clear-definitions drr-frame) (do-execute drr-frame) (wait-for-drr-frame-computation) - (let ([ints-just-after-welcome (queue-callback/res (λ () (+ 1 (send ints-text last-position))))]) - - (type-in-definitions - drr-frame - "(define-syntax #%top-interaction (syntax-rules () [(_ . e) 'e]))\n(+ 1 2)\n") - (test:menu-select "File" "Save Definitions") - - (clear-definitions drr-frame) - (do-execute drr-frame) + (queue-callback/res (λ () (+ 1 (send ints-text last-position)))) + + (type-in-definitions + drr-frame + "(define-syntax #%top-interaction (syntax-rules () [(_ . e) 'e]))\n(+ 1 2)\n") + (test:menu-select "File" "Save Definitions") + + (clear-definitions drr-frame) + (do-execute drr-frame) + (wait-for-drr-frame-computation) + + (for-each test:keystroke (string->list (format "(load ~s)" tmp-load-short-filename))) + (let ([start (+ 1 (queue-callback/res (λ () (send ints-text last-position))))]) + (test:keystroke #\return) (wait-for-drr-frame-computation) - - (for-each test:keystroke (string->list (format "(load ~s)" tmp-load-short-filename))) - (let ([start (+ 1 (queue-callback/res (λ () (send ints-text last-position))))]) - (test:keystroke #\return) - (wait-for-drr-frame-computation) - (let* ([end (- (get-int-pos) 1)] - [output (fetch-output drr-frame start end)] - [expected "(+ 1 2)"]) - (unless (equal? output expected) - (error 'top-interaction-test "expected.1 ~s, got ~s" expected output)) - (next-test))) - - (for-each test:keystroke (string->list "(+ 4 5)")) - (let ([start (+ 1 (queue-callback/res (λ () (send ints-text last-position))))]) - (test:keystroke #\return) - (wait-for-drr-frame-computation) - (let* ([end (- (get-int-pos) 1)] - [output (fetch-output drr-frame start end)] - [expected "(+ 4 5)"]) - (unless (equal? output expected) - (error 'top-interaction-test "expected.2 ~s, got ~s" expected output)) - (next-test))))) + (let* ([end (- (get-int-pos) 1)] + [output (fetch-output drr-frame start end)] + [expected "(+ 1 2)"]) + (unless (equal? output expected) + (error 'top-interaction-test "expected.1 ~s, got ~s" expected output)) + (next-test))) + + (for-each test:keystroke (string->list "(+ 4 5)")) + (define start (+ 1 (queue-callback/res (λ () (send ints-text last-position))))) + (test:keystroke #\return) + (wait-for-drr-frame-computation) + (define end (- (get-int-pos) 1)) + (define output (fetch-output drr-frame start end)) + (define expected "(+ 4 5)") + (unless (equal? output expected) + (error 'top-interaction-test "expected.2 ~s, got ~s" expected output)) + (next-test)) (when (file-exists? tmp-load-filename) (delete-file tmp-load-filename)) From 042f6c420fd8f0a82ff2fa701fbb363e10e806c3 Mon Sep 17 00:00:00 2001 From: "resyntax-ci[bot]" <181813515+resyntax-ci[bot]@users.noreply.github.com> Date: Sun, 19 Jan 2025 00:10:15 +0000 Subject: [PATCH 4/8] Fix 2 occurrences of `if-else-false-to-and` This `if` expression can be refactored to an equivalent expression using `and`. --- drracket-test/tests/drracket/private/drracket-test-util.rkt | 5 +---- drracket-test/tests/drracket/private/easter-egg-lib.rkt | 5 +---- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/drracket-test/tests/drracket/private/drracket-test-util.rkt b/drracket-test/tests/drracket/private/drracket-test-util.rkt index 1869ed599..c52051b5d 100644 --- a/drracket-test/tests/drracket/private/drracket-test-util.rkt +++ b/drracket-test/tests/drracket/private/drracket-test-util.rkt @@ -89,10 +89,7 @@ (define (wait-for-drracket-frame [print-message? #f]) (define (wait-for-drracket-frame-pred) (define active (fw:test:get-active-top-level-window)) - (if (and active - (drracket-frame? active)) - active - #f)) + (and (and active (drracket-frame? active)) active)) (define drr-fr (or (wait-for-drracket-frame-pred) (begin diff --git a/drracket-test/tests/drracket/private/easter-egg-lib.rkt b/drracket-test/tests/drracket/private/easter-egg-lib.rkt index e2b53c498..1a494fc95 100644 --- a/drracket-test/tests/drracket/private/easter-egg-lib.rkt +++ b/drracket-test/tests/drracket/private/easter-egg-lib.rkt @@ -81,10 +81,7 @@ and then loading the framework after that. (define (wait-for-drracket-frame [print-message? #f]) (define (wait-for-drracket-frame-pred) (define active (test:get-active-top-level-window)) - (if (and active - (drracket-frame? active)) - active - #f)) + (and (and active (drracket-frame? active)) active)) (define drr-fr (or (wait-for-drracket-frame-pred) (begin From ec35c5565437651ed38b0a46a3a9376744832002 Mon Sep 17 00:00:00 2001 From: "resyntax-ci[bot]" <181813515+resyntax-ci[bot]@users.noreply.github.com> Date: Sun, 19 Jan 2025 00:10:15 +0000 Subject: [PATCH 5/8] Fix 1 occurrence of `cond-else-cond-to-cond` The `else` clause of this `cond` expression is another `cond` expression and can be flattened. --- .../tests/drracket/private/module-lang-test-utils.rkt | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/drracket-test/tests/drracket/private/module-lang-test-utils.rkt b/drracket-test/tests/drracket/private/module-lang-test-utils.rkt index 72f4bb418..854cc7f07 100644 --- a/drracket-test/tests/drracket/private/module-lang-test-utils.rkt +++ b/drracket-test/tests/drracket/private/module-lang-test-utils.rkt @@ -146,13 +146,10 @@ (let loop ([snip (send interactions-text find-first-snip)]) (cond [(not snip) '()] - [else - (cond - [(method-in-interface? 'get-stacks (object-interface snip)) - (define-values (s1 s2) (send snip get-stacks)) - (list* s1 s2 (loop (send snip next)))] - [else - (loop (send snip next))])]))))) + [(method-in-interface? 'get-stacks (object-interface snip)) + (define-values (s1 s2) (send snip get-stacks)) + (list* s1 s2 (loop (send snip next)))] + [else (loop (send snip next))]))))) (define output-passed? (let ([r (test-result test)]) ((cond [(string? r) string=?] From e970f8b0c34751fe3520878a089fe253fc2c40aa Mon Sep 17 00:00:00 2001 From: "resyntax-ci[bot]" <181813515+resyntax-ci[bot]@users.noreply.github.com> Date: Sun, 19 Jan 2025 00:10:15 +0000 Subject: [PATCH 6/8] Fix 2 occurrences of `when-expression-in-for-loop-to-when-keyword` Use the `#:when` keyword instead of `when` to reduce loop body indentation. --- .../private/module-lang-test-utils.rkt | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/drracket-test/tests/drracket/private/module-lang-test-utils.rkt b/drracket-test/tests/drracket/private/module-lang-test-utils.rkt index 854cc7f07..36e4c4810 100644 --- a/drracket-test/tests/drracket/private/module-lang-test-utils.rkt +++ b/drracket-test/tests/drracket/private/module-lang-test-utils.rkt @@ -165,23 +165,23 @@ text) (unless (null? stacks) (eprintf "stacks from error message:\n") - (for ([stack (in-list stacks)]) - (when stack - (eprintf "\n----\n") - (unless (empty-viewable-stack? stack) - (define stack-iterator (copy-viewable-stack stack)) - (let loop () - (define-values (list-of-srcloc-count has-next?) - (viewable-stack-get-next-items! stack-iterator)) - (for ([srcloc-count (in-list list-of-srcloc-count)]) - (define frame (srcloc->string (car srcloc-count))) - (define count (+ 1 (cdr srcloc-count))) - (if (> count 1) - (eprintf " ~a [repeated ~a times]\n" frame count) - (eprintf " ~a\n" frame))) - (when has-next? - (loop)))) - (eprintf "----\n"))))) + (for ([stack (in-list stacks)] + #:when stack) + (eprintf "\n----\n") + (unless (empty-viewable-stack? stack) + (define stack-iterator (copy-viewable-stack stack)) + (let loop () + (define-values (list-of-srcloc-count has-next?) + (viewable-stack-get-next-items! stack-iterator)) + (for ([srcloc-count (in-list list-of-srcloc-count)]) + (define frame (srcloc->string (car srcloc-count))) + (define count (+ 1 (cdr srcloc-count))) + (if (> count 1) + (eprintf " ~a [repeated ~a times]\n" frame count) + (eprintf " ~a\n" frame))) + (when has-next? + (loop)))) + (eprintf "----\n")))) (define the-assert (test-extra-assert test)) (define-values (kws-req kws-acc) (procedure-keywords the-assert)) (define-values (kws kw-vals) @@ -220,9 +220,9 @@ (for-each single-test (reverse tests)) (clear-definitions drs) (queue-callback/res (λ () (send (send drs get-definitions-text) set-modified #f))) - (for ([file temp-files]) - (when (file-exists? file) - (delete-file file)))) + (for ([file temp-files] + #:when (file-exists? file)) + (delete-file file))) (define (run-use-compiled-file-paths-tests) (define (setup-dialog/run proc) From 7eef6c1d9502c9a529df4f9b9e584c0651cb7d1e Mon Sep 17 00:00:00 2001 From: "resyntax-ci[bot]" <181813515+resyntax-ci[bot]@users.noreply.github.com> Date: Sun, 19 Jan 2025 00:10:15 +0000 Subject: [PATCH 7/8] Fix 1 occurrence of `send-chain-to-send+` This method chain made of nested `send` expressions can be written more clearly as a `send+` expression. --- drracket-test/tests/drracket/private/easter-egg-lib.rkt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drracket-test/tests/drracket/private/easter-egg-lib.rkt b/drracket-test/tests/drracket/private/easter-egg-lib.rkt index 1a494fc95..5fb151b01 100644 --- a/drracket-test/tests/drracket/private/easter-egg-lib.rkt +++ b/drracket-test/tests/drracket/private/easter-egg-lib.rkt @@ -64,7 +64,7 @@ and then loading the framework after that. (define drr-frame (wait-for-drracket-frame)) (set-module-language! drr-frame) (queue-callback/res - (λ () (send (send (send drr-frame get-definitions-text) get-canvas) focus))) + (λ () (send+ drr-frame (get-definitions-text) (get-canvas) (focus)))) (for ([x (in-string "(car 'x)")]) (test:keystroke x)) (let ([button (queue-callback/res (λ () (send drr-frame get-execute-button)))]) From 24b690073db81bb3d3df841041c16f8ab24c0a23 Mon Sep 17 00:00:00 2001 From: "resyntax-ci[bot]" <181813515+resyntax-ci[bot]@users.noreply.github.com> Date: Sun, 19 Jan 2025 00:10:15 +0000 Subject: [PATCH 8/8] Fix 1 occurrence of `make-temporary-directory-migration` Use `make-temporary-directory` to make directories instead of `make-temporary-file`. --- drracket-test/tests/drracket/private/repl-test.rkt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drracket-test/tests/drracket/private/repl-test.rkt b/drracket-test/tests/drracket/private/repl-test.rkt index 7fceab7a2..9d7d92783 100644 --- a/drracket-test/tests/drracket/private/repl-test.rkt +++ b/drracket-test/tests/drracket/private/repl-test.rkt @@ -1010,7 +1010,7 @@ This produces an ACK message (define backtrace-image-string "{stop-multi.png}") (define file-image-string "{stop-22x22.png}") -(define tmp-load-directory (make-temporary-file "repltest~a" 'directory)) +(define tmp-load-directory (make-temporary-directory "repltest~a")) (define tmp-load-short-filename "repl-test-tmp.rkt") (define tmp-load-filename (build-path tmp-load-directory tmp-load-short-filename))