Back on October 11, you made a change to run-teaching-languages.rkt that works absolutely fine with the stepper.
...but it breaks the stepper's testing harness. Ugh. The problem, IIUC, is
that the expansion of the teaching-language programs refer to a module,
test-engine/racket-tests, that doesn't actually exist at
plt/collects/test-engine, and is instead dynamically associated with the
namespace by DrRacket before running the student program. That is, IIUC. So,
in order for the command-line racket tests to run correctly, they must also
attach that module to the evaluation namespace. Unfortunately, my ham-fisted
attempt to add this to the test harness:
(namespace-attach-module outer-namespace 'test-engine/racket-tests
(current-namespace))
... didn't work. Actually, I was intrigued by the change. It changed failures
like this:
test-sequence: steps do not match
given: #(struct:error-result "require: namespace mismatch; reference (phase
0) to a module \"/Users/clements/plt/collects/test-engine/racket-tests.rkt\"
that is not available (phase level 0)")
expected: (before-after ((hilite (cond (true 3) (else (and true true)))))
((hilite 3)))
... into errors like this:
test-sequence: steps do not match
given: #(struct:error-result "link: module mismatch, probably from old
bytecode whose dependencies have changed: variable not provided (directly or
indirectly) from module:
\"/Users/clements/plt/collects/test-engine/racket-tests.rkt\" accessed from
module: 'stepper-module-name-18307 at source phase level: 0")
expected: (before-after ((if (hilite (if true false true)) false true)) ((if
(hilite false) false true)))
I tried some light deleting of .zo files, but I strongly suspect that the real
problem here is that somehow the version of test-engine/racket-tests attached
to racket's default namespace--apparently it exists? or namespace-attach-module
would give an error, right?--is different from the one attached to the teaching
languages evaluation namespace.
I think the next step for me(after maybe a clean setup) is to start grepping
through the drracket code for instances of test-engine/racket-tests, but if you
can shed any light on the situation, I'm all ears.
Thanks!
John
smime.p7s
Description: S/MIME cryptographic signature
_________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev

