I'm not sure, I'm sorry to say. What you write sounds like the right tack to me.

Robby

On Thu, Oct 14, 2010 at 4:02 PM, John Clements
<cleme...@brinckerhoff.org> wrote:
> 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
>
>
_________________________________________________
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

Reply via email to