[racket] standard solution for non-terminating handin tests?

From: John Clements (clements at brinckerhoff.org)
Date: Sat Feb 11 13:35:13 EST 2012

On Feb 11, 2012, at 10:26 AM, Matthias Felleisen wrote:

> 
> Use the design recipe, Luke. 

I'm running into trouble in step 4, the template step:

;; educate : student-that-can't-solve-assignment -> student-that-can-solve-assignment
(define (educate student)
  ... what goes here ...?
)

(check-expect (educate <redacted-name>) <redacted-name>)



Slightly more seriously, if you're suggesting using the design recipe to help avoid non-termination, it doesn't help the students much when they're implementing an interpreter for a turing-complete language in a PL class.

John


> 
> On Feb 11, 2012, at 1:09 PM, John Clements wrote:
> 
>> My students have terrible trouble with handin tests that don't terminate / exhaust memory. Specifically, the handin fails, and no test results are saved with the file in a SUCCESS directory.
>> 
>> I think the underlying problem is that I'm using (add-header-line! ...) to record information about test case results, and these are lost if the sandbox self-terminates. 
>> 
>> I can see a couple of ways of fixing this: one is to send my test case info "out of channel," so that it's not lost when the sandbox explodes. The other one is to enrich my standard 'test' form with a timeout thread that sleeps for half a second then kills the test to allow the assignment to be saved. 
>> 
>> I favor the second of these, because it looks like less work and because users could conceivably get useful information back on a looping program.
>> 
>> I'm guessing that others have solved this problem: is there an obvious solution?
>> 
>> John
>> 
>> ____________________
>> Racket Users list:
>> http://lists.racket-lang.org/users
> 
> 
> ____________________
>  Racket Users list:
>  http://lists.racket-lang.org/users

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4624 bytes
Desc: not available
URL: <http://lists.racket-lang.org/users/archive/attachments/20120211/440d2cdc/attachment.p7s>

Posted on the users mailing list.