File tree Expand file tree Collapse file tree 3 files changed +24
-5
lines changed
Expand file tree Collapse file tree 3 files changed +24
-5
lines changed Original file line number Diff line number Diff line change @@ -440,10 +440,10 @@ no-change-test: "list element variable definitions not refactorable when referen
440440
441441no-change-test: "list element variable definitions not refactorable when referencing list expressions "
442442------------------------------
443- (define (f pt-list )
444- (define x (list-ref (first pt-list ) 0 ))
445- (define y (list-ref (first pt-list ) 1 ))
446- (define z (list-ref (first pt-list ) 2 ))
443+ (define (f pt-func )
444+ (define x (list-ref (pt-func ) 0 ))
445+ (define y (list-ref (pt-func ) 1 ))
446+ (define z (list-ref (pt-func ) 2 ))
447447 (+ x y z))
448448------------------------------
449449
Original file line number Diff line number Diff line change 1515 [source-original (-> source? unmodified-source?)]
1616 [source-read-syntax (-> source? syntax?)]
1717 [source-read-language (-> source? (or/c module-path? #false ))]
18+ [source-expand (-> source? syntax?)]
1819 [source-text-of (-> source? syntax? immutable-string?)]
1920 [file-source? (-> any/c boolean?)]
2021 [file-source (-> path-string? file-source?)]
127128 (check-equal? (source-read-language (string-source "(void) " )) #false )))
128129
129130
131+ (define (source-expand code)
132+ (expand (source-read-syntax code)))
133+
134+
130135(define/guard (source-path code)
131136 (guard-match (or (file-source path) (modified-source (file-source path) _ )) code #:else #false )
132137 path)
Original file line number Diff line number Diff line change 2222 rackunit
2323 rebellion/base/comparator
2424 rebellion/base/range
25+ rebellion/base/result
2526 rebellion/collection/entry
2627 rebellion/collection/hash
2728 rebellion/collection/list
206207(define-check (check-suite-does-not-refactor original-program)
207208 (define suite (current-suite-under-test))
208209 (set! original-program (code-block-append (current-header) original-program))
210+ (fail-unless-program-compiles original-program)
209211 (define-values (call-with-logs-captured build-logs-info) (make-log-capture-utilities))
210-
211212 (define result-set
212213 (call-with-logs-captured
213214 (λ ()
227228 (fail-check "the program was not changed, but no-op fixes were suggested " ))))))
228229
229230
231+ (define (fail-unless-program-compiles program)
232+ (define src (string-source (code-block-raw-string program)))
233+ (define expansion-result
234+ (parameterize ([current-namespace (make-base-namespace)])
235+ (result (source-expand src))))
236+ (match expansion-result
237+ [(? success?) (void)]
238+ [(failure e)
239+ (with-check-info (['actual (string-block-info (code-block-raw-string program))]
240+ ['exception e])
241+ (fail-check "the program raised an error when compiled and couldn't be analyzed " ))]))
242+
243+
230244(define-check (check-suite-analysis program context-list target property-key expected-value)
231245 (define suite (current-suite-under-test))
232246 (set! program (code-block-append (current-header) program))
You can’t perform that action at this time.
0 commit comments