I have a test case that works at the command line:

$ racket
Welcome to Racket v5.3.1.
> (require "simple.rkt")
> (scheme_eval '(+ 2 2) (make-base-namespace))
4
>

But fails with raco test:

$ raco test "simple.rkt"
link: module mismatch;
 possibly, bytecode file needs re-compile because dependencies changed
  exporting module: "/usr/share/racket/collects/racket/private/kw.rkt"
  exporting phase level: 0
  internal explanation: variable not provided (directly or indirectly)
  at: #%app
  in: new-app

Here is my version:

$ racket --version
Welcome to Racket v5.3.1.

And here is the test:

$ cat "simple.rkt"
#lang racket
(module+ test (require rackunit))
(require ffi/unsafe)
(define scheme_eval
  (get-ffi-obj "scheme_eval" (ffi-lib #f) (_fun _scheme _scheme ->
_scheme)))
(provide scheme_eval)
(module+ test
  (check = 4 (scheme_eval '(+ 2 2) (make-base-namespace))))

If I change scheme_eval to eval in "check =" there is no failure.

I know, strange example. I just came across the issue while hacking.

-- 
Anthony Carrico

Attachment: signature.asc
Description: OpenPGP digital signature

____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to