1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-29 19:30:36 +02:00
guile/test-suite/tests/load-lang.test

58 lines
1.5 KiB
Scheme

;;;; load-lang.test - test loading extension languages -*- scheme -*-
;;;;
;; these always fail for some reason:
;;
;; $ ./check-guile load-lang.test
;; ...
;; ERROR: load-lang.test: load-lang: using #lang - arguments:
;; ((read-error #f "/home/mwette/repo/sv/build/guile/load1js:1:3:
;; Unknown # object: ~S" ("#l") #f))
;; ...
;; ERROR: load-lang.test: load-lang: using dot-js - arguments:
;; ((unbound-variable #f "Unbound variable: ~S" (function) #f))
;;
;; but works this way
;; $ meta/guile
;; ...
;; scheme@(guile-user)> (load "load1js")
;; scheme@(guile-user)> (js_1pl 1)
;; $1 = 2
;; scheme@(guile-user)> (load "load2.js")
;; ...
;; scheme@(guile-user)> (js_2pl 2)
;; $2 = 4
(define-module (test-suite test-load-lang)
#:use-module (test-suite lib)
#:declarative? #f)
(define tmp-dir (getcwd))
(define (data-file-name filename)
(in-vicinity tmp-dir filename))
(with-test-prefix "load-lang"
(pass-if "using #lang"
(let ((src-file (data-file-name "load1js")))
(with-output-to-file src-file
(lambda ()
(display "#lang ecmascript\n")
(display "function js_1pl(b) { return 1 + b; }\n")))
(load src-file)
;;(delete-file src-file)
(= (js_1pl 2) 3)))
(pass-if "using dot-js"
(let ((src-file (data-file-name "load2.js")))
(with-output-to-file src-file
(lambda ()
(display "function js_2pl(b) { return 2 + b; }\n")))
(load src-file)
;;(delete-file src-file)
(= (js_2pl 2) 4)))
)
;; --- last line ---