X-Git-Url: https://jxself.org/git/?p=8sync.git;a=blobdiff_plain;f=tests%2Ftest-agenda.scm;h=d62e01ce284f777e831884cf9e9a0610413886f5;hp=ef2c74f13abe7a6c20392f445fd78b6e97efe9a0;hb=34bbbef30ae633a221b0a190e06c3c82208e4a41;hpb=2cf0efca6f8abb4938cec1cc4d00bb96dcc4de87 diff --git a/tests/test-agenda.scm b/tests/test-agenda.scm index ef2c74f..d62e01c 100644 --- a/tests/test-agenda.scm +++ b/tests/test-agenda.scm @@ -1,19 +1,20 @@ -;; Copyright (C) 2015 Christopher Allan Webber - -;; This library is free software; you can redistribute it and/or -;; modify it under the terms of the GNU Lesser General Public -;; License as published by the Free Software Foundation; either -;; version 3 of the License, or (at your option) any later version. -;; -;; This library is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;; Lesser General Public License for more details. -;; -;; You should have received a copy of the GNU Lesser General Public -;; License along with this library; if not, write to the Free Software -;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -;; 02110-1301 USA +;;; 8sync --- Asynchronous programming for Guile +;;; Copyright (C) 2015 Christopher Allan Webber +;;; +;;; This library is free software; you can redistribute it and/or +;;; modify it under the terms of the GNU Lesser General Public +;;; License as published by the Free Software Foundation; either +;;; version 3 of the License, or (at your option) any later version. +;;; +;;; This library is distributed in the hope that it will be useful, +;;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;;; Lesser General Public License for more details. +;;; +;;; You should have received a copy of the GNU Lesser General Public +;;; License along with this library; if not, write to the Free Software +;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +;;; 02110-1301 USA #!/usr/bin/guile \ -s @@ -23,7 +24,7 @@ #:use-module (srfi srfi-64) #:use-module (ice-9 q) #:use-module (ice-9 receive) - #:use-module (eightsync agenda) + #:use-module (8sync agenda) #:use-module (tests utils)) (test-begin "test-agenda") @@ -261,7 +262,7 @@ (define (test-%run-and-friends async-request expected-when) (let* ((fake-kont (speak-it)) - (run-request ((@@ (eightsync agenda) setup-async-request) + (run-request ((@@ (8sync agenda) setup-async-request) fake-kont async-request))) (test-equal (car async-request) '*async-request*) (test-equal (run-request-when run-request) expected-when) @@ -309,20 +310,18 @@ (speaker "I bet I can make you say you're a dummy!\n") (run-it dummy-func)) -(let ((q (make-q))) +(begin (set! speaker (speak-it)) ; reset the speaker - (enq! q run-dummy) - (start-agenda (make-agenda #:queue q) + (start-agenda (make-agenda #:queue (make-q* run-dummy)) #:stop-condition (true-after-n-times 2)) (test-equal (speaker) '("I bet I can make you say you're a dummy!\n" "I'm a dummy\n"))) ;; should only do the first one after one round though -(let ((q (make-q))) +(begin (set! speaker (speak-it)) ; reset the speaker - (enq! q run-dummy) - (start-agenda (make-agenda #:queue q) + (start-agenda (make-agenda #:queue (make-q* run-dummy)) #:stop-condition (true-after-n-times 1)) (test-equal (speaker) '("I bet I can make you say you're a dummy!\n"))) @@ -339,11 +338,10 @@ (string-concatenate `("A " ,(symbol->string (%8sync (%run (return-monkey)))) "!\n")))) -(let ((q (make-q))) +(begin (set! speaker (speak-it)) - (enq! q talk-about-the-zoo) ;; (enq! q talk-about-the-zoo-but-wait) - (start-agenda (make-agenda #:queue q) + (start-agenda (make-agenda #:queue (make-q* talk-about-the-zoo)) #:stop-condition (true-after-n-times 10)) (test-equal (speaker) '("Today I went to the zoo and I saw...\n" @@ -368,9 +366,9 @@ (speaker "Time for exception fun!\n") (let ((caught-exception #f)) (catch-8sync - (%8sync (%run (if with-indirection - (indirection-remote-func-breaks) - (remote-func-breaks)))) + (%8sync-run (if with-indirection + (indirection-remote-func-breaks) + (remote-func-breaks))) ('numerical-overflow (lambda (orig-stacks . orig-args) (set! caught-exception #t) @@ -387,28 +385,28 @@ (speaker "Well that was fun :)\n")) -(let ((q (make-q))) +(begin (set! speaker (speak-it)) - (enq! q local-func-gets-break) - (start-agenda (make-agenda #:queue q) + (start-agenda (make-agenda #:queue (make-q* local-func-gets-break)) #:stop-condition (true-after-n-times 10)) - (test-assert (speaker) - '("Time for exception fun!\n" - "Here we go...\n" - "in here now!\n" - "Well that was fun :)\n"))) + (test-equal (speaker) + '("Time for exception fun!\n" + "Here we go...\n" + "in here now!\n" + "Well that was fun :)\n"))) -(let ((q (make-q))) +(begin (set! speaker (speak-it)) - (enq! q (wrap (local-func-gets-break #:with-indirection #t))) - (start-agenda (make-agenda #:queue q) + (start-agenda (make-agenda + #:queue (make-q* (wrap (local-func-gets-break + #:with-indirection #t)))) #:stop-condition (true-after-n-times 10)) - (test-assert (speaker) - '("Time for exception fun!\n" - "bebop\n" - "Here we go...\n" - "in here now!\n" - "Well that was fun :)\n"))) + (test-equal (speaker) + '("Time for exception fun!\n" + "bebop\n" + "Here we go...\n" + "in here now!\n" + "Well that was fun :)\n"))) ;; Make sure catching tools work