raco demod: fix module name in generated bytecode

Closes #2226
This commit is contained in:
Matthew Flatt 2018-08-11 18:25:55 -06:00
parent 4a7c4d184c
commit 107d1e42a7
3 changed files with 23 additions and 4 deletions

View File

@ -7,7 +7,7 @@
(provide wrap-bundle)
(define (wrap-bundle body internals lifts excluded-module-mpis get-merge-info)
(define (wrap-bundle body internals lifts excluded-module-mpis get-merge-info name)
(define-values (runs
import-keys
ordered-importss
@ -166,4 +166,5 @@
(linkl-bundle (hasheq 0 new-linkl
'data data-linkl
'decl decl-linkl)))
'decl decl-linkl
'name name)))

View File

@ -46,7 +46,9 @@
(log-info "Bundling linklet")
(define bundle (wrap-bundle new-body new-internals new-lifts
excluded-module-mpis
get-merge-info))
get-merge-info
(let-values ([(base name dir?) (split-path input-file)])
(string->symbol (path->string name)))))
(log-info "Writing bytecode")
(define output-file (or given-output-file

View File

@ -39,7 +39,23 @@
#:failure-prefix (format "~a stdout" filename)
whole-output => modular-output
#:failure-prefix (format "~a stderr" filename)
whole-error => modular-error))
whole-error => modular-error)
(when (null? exceptions)
;; try creating an executable
(define exe-filename (build-path
(find-system-path 'temp-dir)
(if (eq? (system-type) 'windows)
"demod-exe.exe"
"demod-exe")))
(system* (find-exe) "-l-" "raco" "exe" "-o" exe-filename demod-filename)
(define-values (whole-exe-output whole-exe-error)
(capture-output exe-filename))
(test
#:failure-prefix (format "~a exe stdout" filename)
whole-exe-output => modular-output
#:failure-prefix (format "~a exe stderr" filename)
whole-exe-error => modular-error)))
(define-runtime-path tests "tests")