[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Geiser-users] Confusing module enter behavior
From: |
Grant Rettke |
Subject: |
[Geiser-users] Confusing module enter behavior |
Date: |
Fri, 25 Nov 2011 20:56:10 -0600 |
Hi,
Today I wanted to try out the develop-test style flow using enter and
found these results which were not what I expected:
1. Create foo.rkt. Define method foo which returns 1
2. Create foo-test.rkt. Add test for foo which should return 0
3. In foo-test, C:c, C:a; test fails as expected
4. In foo, change result to 0
5. In foo-test, C:c, C:a; test passes as expected
6. In foo, change result to 1
7. In foo-test, C:c, C:a; test passes, which is not expected.
The reason is that I can see in the repl that
[re-loading c:\dev\tmp\enter\foo.rkt]
occurs; as the docs for enter! explain.
Evaluating (foo) in the repl also returns one, so the test
should have failed. Even C:x,C:e on the (foo) in the test
returns one.
What is odd is that I can see the new definition gets loaded, but
something still isn't right.
Emacs 23.3.1, Geiser 0.1.3, Windows XP, and Racket 5.2.h
;;; foo.rkt
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#lang racket
(provide (all-defined-out))
(define (foo) 1)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;foo-test.rkt
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#lang racket
(require "foo.rkt")
(require rackunit)
(check-eq? (foo) 0)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Grant
- [Geiser-users] Confusing module enter behavior,
Grant Rettke <=