~ chicken-core (chicken-5) 83498aa82d39a21410a56a1e90d91d8cf6c7d702
commit 83498aa82d39a21410a56a1e90d91d8cf6c7d702 Author: felix <felix@call-with-current-continuation.org> AuthorDate: Sun Sep 14 22:12:18 2014 +0200 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Sun Sep 14 22:12:18 2014 +0200 Removed obsolete test. diff --git a/tests/srfi-18-signal-test.scm b/tests/srfi-18-signal-test.scm deleted file mode 100644 index 46b7dd20..00000000 --- a/tests/srfi-18-signal-test.scm +++ /dev/null @@ -1,71 +0,0 @@ -#+mingw32 -(begin - (print "this test can not be run on Windows/mingw unless we find a way to send signals") - (exit)) - -(use srfi-18 posix utils) - -(define done #f) - -; set done = true on timer expiration -(set-signal-handler! signal/alrm (lambda (signal) (set! done #t))) - -(define (work-loop count) - (cond ((> count 100) (error "Loop limit exceeded")) - ((not done) - (display ".") - (thread-sleep! 0.25) - (work-loop (add1 count))))) - -(define (new-thread) - (set! done #f) - (make-thread (lambda () (work-loop 0)))) - -;; Needs external signal (not from another thread) it seems, -;; so let the OS deliver it to us when we're ready: -(foreign-declare "#include <sys/time.h>") -((foreign-lambda* void () - "#ifndef __MINGW32__ \n" - "struct itimerval timer;" - "timer.it_value.tv_sec = 1;" - "timer.it_value.tv_usec = 0;" - "timer.it_interval.tv_sec = 0;" - "timer.it_interval.tv_usec = 0;" - "setitimer(ITIMER_REAL, &timer, NULL);\n" - "#endif")) - -(display "Testing correct handling of thread-join! with external signals:") -(flush-output) -(let ((t (new-thread))) - (thread-start! t) - (thread-join! t)) - -(print " thread terminated gracefully, this is good") - -(display "thread-join with timeout: ") -(flush-output) -(let ((t (new-thread))) - (condition-case (begin (thread-start! t) - (thread-join! t 1)) - ((join-timeout-exception) - (print "timeout exception as expected") - (thread-terminate! t)) - (exn () - (thread-terminate! t) - (signal exn)))) - - -(display "thread-join with return value:") -(flush-output) -(let ((t (new-thread))) - (assert (condition-case (begin (thread-start! t) - (thread-join! t 1 'bla)) - ((join-timeout-exception) - (print " timeout exception as expected") - (thread-terminate! t)) - (exn () - (thread-terminate! t) - (signal exn))) - 'bla)) - -(print " done.")Trap