diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2023-10-08 11:29:21 +0200 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2023-10-08 11:29:21 +0200 |
commit | d8a52af2520d14035fc3a36a7aa3569f9856380a (patch) | |
tree | d4ef88ad3fec5acb40581c2d4d048b2a7ca11eae /tests/unit/util/atomic-queue.scm | |
parent | Repair litmus test. (diff) | |
download | calp-d8a52af2520d14035fc3a36a7aa3569f9856380a.tar.gz calp-d8a52af2520d14035fc3a36a7aa3569f9856380a.tar.xz |
Further rewrite of testrunner.
Move many of the atomic procedures into proper libraries.
Diffstat (limited to 'tests/unit/util/atomic-queue.scm')
-rw-r--r-- | tests/unit/util/atomic-queue.scm | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/unit/util/atomic-queue.scm b/tests/unit/util/atomic-queue.scm new file mode 100644 index 00000000..428f4457 --- /dev/null +++ b/tests/unit/util/atomic-queue.scm @@ -0,0 +1,32 @@ +(define-module (test atomic-queue) + :use-module (srfi srfi-64) + :use-module (srfi srfi-88) + :use-module (hnh util atomic-queue)) + +;;; TODO multithreaded tests + +(define q (atomic-queue)) + +(enqueue! 1 q) +(enqueue! 2 q) +(enqueue! 3 q) + +(test-equal 1 (dequeue! q)) + +(enqueue! 4 q) + +(test-equal 2 (dequeue! q)) +(test-equal 3 (dequeue! q)) +(test-equal 4 (dequeue! q)) +(test-equal #f (dequeue! q)) +(test-equal #f (dequeue! q)) + +(test-group "Errors are capturable" + (catch #t + (lambda () + (queue-peek q) + (test-assert "Should never be reached" #f)) + (lambda _ (test-assert #t "Error correctly captured")))) + + +'((hnh util atomic-queue)) |