guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] GNU Guile branch, master, updated. release_1-9-5-208-g90


From: Ludovic Courtès
Subject: [Guile-commits] GNU Guile branch, master, updated. release_1-9-5-208-g9035e9d
Date: Fri, 11 Dec 2009 22:27:56 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".

http://git.savannah.gnu.org/cgit/guile.git/commit/?id=9035e9d6db84d3e37dc2ba93dbeea7e0fc6b4bb7

The branch, master has been updated
       via  9035e9d6db84d3e37dc2ba93dbeea7e0fc6b4bb7 (commit)
      from  2cf7ff2e799cbbe80012545411a34653a6da2cf7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 9035e9d6db84d3e37dc2ba93dbeea7e0fc6b4bb7
Author: Ludovic Courtès <address@hidden>
Date:   Fri Dec 11 23:27:47 2009 +0100

    Tweak the "unused modules are removed" test.
    
    * test-suite/tests/gc.test ("gc")["unused modules are removed"]: Add
      loop to clean up stale references from the stack.

-----------------------------------------------------------------------

Summary of changes:
 test-suite/tests/gc.test |   30 +++++++++++++++++-------------
 1 files changed, 17 insertions(+), 13 deletions(-)

diff --git a/test-suite/tests/gc.test b/test-suite/tests/gc.test
index f5848fb..9aa12be 100644
--- a/test-suite/tests/gc.test
+++ b/test-suite/tests/gc.test
@@ -59,19 +59,23 @@
 
 (with-test-prefix "gc"
   (pass-if "Unused modules are removed"
-          (let* ((guard (make-guardian))
-                  (total 1000))
+    (let* ((guard (make-guardian))
+           (total 1000))
 
-            (for-each (lambda (x) (guard (make-module))) (iota total))
+      (for-each (lambda (x) (guard (make-module))) (iota total))
 
-             (gc)
-            (gc) ;; twice: have to kill the weak vectors.
-             (gc) ;; thrice: because the test doesn't succeed with only
-                  ;; one gc round. not sure why.
-
-             (= (let lp ((i 0))
-                  (if (guard)
-                      (lp (1+ i))
-                      i))
-                total))))
+      ;; Avoid false references to the modules on the stack.
+      (let cleanup ((i 20))
+        (and (> i 0)
+             (begin (cleanup (1- i)) i)))
 
+      (gc)
+      (gc) ;; twice: have to kill the weak vectors.
+      (gc) ;; thrice: because the test doesn't succeed with only
+           ;; one gc round. not sure why.
+
+      (= (let lp ((i 0))
+           (if (guard)
+               (lp (1+ i))
+               i))
+         total))))


hooks/post-receive
-- 
GNU Guile




reply via email to

[Prev in Thread] Current Thread [Next in Thread]