summaryrefslogtreecommitdiff
path: root/tests (follow)
Commit message (Expand)AuthorAgeFilesLines
* Add allocation speedup test•••* tests/speedup.scm: Add allocation speedup test. Andy Wingo2017-02-171-0/+13
* Add condition variable implementation•••* fibers/conditions.scm: * tests/conditions.scm: New files. * Makefile.am: Add new files. * fibers.texi (Conditions): New section. * fibers/timers.scm (sleep-operation): Rename from wait-operation. * tests/foreign.scm: Adapt to sleep-operation change. Andy Wingo2017-02-112-1/+82
* More speedup tests.•••* tests/speedup.scm (do-times): Add different loop-to tests. Andy Wingo2017-01-181-3/+7
* Add test for parallel speedup.•••* tests/speedup.scm: New file. * Makefile.am (TESTS): Add new file. Andy Wingo2017-01-181-0/+55
* Disable parallelism in scheduling-order tests•••* tests/basic.scm (assert-run-fibers-terminates): Allow keyword args to run-fibers. (run-order, wakeup-order): Disable parallelism. Andy Wingo2017-01-081-4/+4
* Add support for operations from foreign threads•••* tests/foreign.scm: New file. * Makefile.am: Add new file. * fibers/operations.scm (perform-operation): Support blocking operations from foreign threads (without a scheduler). * fibers/timers.scm (timer-sched, *timer-sched*, timer-operation): Add support for timeouts that use an auxiliary thread instead of relying on the current scheduler. Andy Wingo2017-01-051-0/+71
* Fix spawn-fiber outside run-fibers•••* fibers.scm (run-fibers): Require init thunk for run-fibers without a scheduler. (spawn-fiber): Incorporate helper procedures, remove dynamic-state argument (as it's always the current dynamic state), and add parallel? argument. Ensure the fiber will have the right read/write waiters. * tests/basic.scm: Update. Andy Wingo2016-12-301-1/+6
* Add support for preemption•••* Makefile.am: Add new test. * TODO.md: Remove stale TODO entries. * fibers.scm (run-fibers): Add #:hz parameter. * fibers.texi (Design): Mention that we support preemption. (Using Fibers): Update for preemption. * fibers/internal.scm (<scheduler>): Add hz field. (make-scheduler): Add #:hz initarg. (maybe-preemptive): New helper. (run-scheduler): Use maybe-preemptive. * tests/preemption.scm: New test. Andy Wingo2016-12-121-0/+81
* Fibers inherit dynamic state of parent.•••* fibers.scm (spawn-fiber): Fibers inherit dynamic state of parent. * tests/parameters.scm: New test. * Makefile.am: Add new file. Andy Wingo2016-12-121-0/+72
* Reimplement in terms of Parallel Concurrent ML•••* fibers/operations.scm: New file. * fibers/channels.scm: Reimplement in terms of operations (CML events). * tests/basic.scm: Remove channels tests. * tests/channels.scm: Add channels tests. * Makefile.am: Update for new files. Andy Wingo2016-10-032-22/+81
* Sleep duration test•••* tests/basic.scm (check-sleep): Add sleep duration test. Andy Wingo2016-09-111-1/+13
* Add initial channels tests•••* tests/basic.scm (assert-run-fibers-returns): Change arg order. (rpc, rpc-fib): Add channels tests. Andy Wingo2016-09-101-5/+16
* run-fibers returns values from initial thread•••* fibers.scm (run-fibers): * fibers/internal.scm (run-scheduler): If there is an init thunk, keep the scheduler running until the corresponding fiber is finished. Return the values returned from the fiber. * tests/basic.scm (assert-run-fibers-terminates): Return values. (assert-run-fibers-returns): New helper. Use it. Andy Wingo2016-09-101-3/+13
* Better fiber run order•••* fibers/internal.scm (schedule-runnables-for-next-turn): Reverse runnables queue so that fibers are run in the next turn in the order that they were added in the previous turn. * tests/basic.scm (run-order): Add run order and sleep wakeup order tests. Andy Wingo2016-09-091-0/+22
* Update test to-do•••* tests/basic.scm: Update comments. Andy Wingo2016-09-081-6/+0
* Add tests•••* Makefile.am (TESTS, TESTS_ENVIRONMENT): * configure.ac: Enable tests. * tests/basic.scm: Add some tests. Andy Wingo2016-09-081-0/+121