Skip to content

Commit

Permalink
1.0.16.46: small fixes to tests
Browse files Browse the repository at this point in the history
 * Remove the WITH-TIMEOUT from around the final test: it just made it
   brittle, if something caused the threads to take slightly longer.

   Add a comment about a semi-randomly broken :SCHEDULE-STRESS test in
   timers.impure.lisp.

 * Typo in ctor.impure.lisp: UPDATE-INSTANCE-FOR-REDEFINED-CLASS,
   not UPDATE-INSTANCE-FOR-REDIFINED-CLASS. (Thank to Paul Khuong)
  • Loading branch information
nikodemus committed May 26, 2008
1 parent 71d1711 commit 62e8cf7
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 11 deletions.
2 changes: 1 addition & 1 deletion tests/ctor.impure.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@
(make-instance 'one-slot-subclass :b b))
(compile 'make-one-slot-subclass)

(defmethod update-instance-for-redifined-class
(defmethod update-instance-for-redefined-class
((object one-slot-superclass) added discarded plist &rest initargs)
(declare (ignore initargs))
(error "Called U-I-F-R-C on ~A" object))
Expand Down
7 changes: 4 additions & 3 deletions tests/hash.impure.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,10 @@

(defvar *cons-here*)

(declaim (notinline args))
(defun take (&rest args)
(declare (ignore args)))

(defmacro alloc (&body body)
"Execute BODY and try to reduce the chance of leaking a conservative root."
#-sb-thread
Expand All @@ -288,9 +292,6 @@
(sb-thread::wait-on-semaphore ,sem)
(values-list ,values))))

(defun take (&rest args)
(declare (ignore args)))

(with-test (:name (:hash-table :weakness :eql :numbers))
(flet ((random-number ()
(random 1000)))
Expand Down
18 changes: 12 additions & 6 deletions tests/timer.impure.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -184,10 +184,17 @@
(sb-ext:schedule-timer ticker 0 :repeat-interval 0.00001)
thread)))))))

;;;; OS X doesn't like these being at all, and gives us a SIGSEGV
;;;; instead of using the Mach expection system! Our or OS X's fault?
;;;; :/

;;;; FIXME: OS X 10.4 doesn't like these being at all, and gives us a SIGSEGV
;;;; instead of using the Mach expection system! 10.5 on the other tends to
;;;; lose() where with interrupt already pending. :/
;;;;
;;;; FIXME: This test also occasionally hangs on Linux/x86-64 at least. The
;;;; common feature is one thread in gc_stop_the_world, and another trying to
;;;; signal_interrupt_thread, but both (apparently) getting EAGAIN repeatedly.
;;;; Exactly how or why this is happening remains under investigation -- but
;;;; it seems plausible that the fast timers simply fill up the interrupt
;;;; queue completely. (On some occasions the process unwedges itself after
;;;; a few minutes, but not always.)
(with-test (:name (:timer :schedule-stress))
(flet ((test ()
(let* ((slow-timers (loop for i from 1 upto 100
Expand Down Expand Up @@ -228,5 +235,4 @@
do (sb-ext:schedule-timer (make-timer #'one :thread thread) 0.001))))))
(dolist (thread threads)
(sched thread)))
(with-timeout (truncate goal 100)
(mapcar #'sb-thread:join-thread threads))))))
(mapcar #'sb-thread:join-thread threads)))))
2 changes: 1 addition & 1 deletion version.lisp-expr
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
"1.0.16.45"
"1.0.16.46"

0 comments on commit 62e8cf7

Please sign in to comment.