mirror of
https://github.com/janet-lang/janet
synced 2026-10-04 06:41:41 +00:00
Proper re-entry into debug state nested fibers.
This commit is contained in:
+22
-1
@@ -71,6 +71,27 @@
|
||||
|
||||
(assert (= "hello, world" `hello, world`) "simple long string")
|
||||
(assert (= "hello, \"world\"" `hello, "world"`) "long string with embedded quotes")
|
||||
(assert (= "hello, \\\\\\ \"world\"" `hello, \\\ "world"`), "long string with embedded quotes and backslashes")
|
||||
(assert (= "hello, \\\\\\ \"world\"" `hello, \\\ "world"`),
|
||||
"long string with embedded quotes and backslashes")
|
||||
|
||||
# More fiber semantics
|
||||
|
||||
(var myvar 0)
|
||||
(defn fiberstuff []
|
||||
(++ myvar)
|
||||
(def f (fiber.new (fn [] (++ myvar) (debug) (++ myvar))))
|
||||
(fiber.resume f)
|
||||
(++ myvar))
|
||||
|
||||
(def myfiber (fiber.new fiberstuff :dey))
|
||||
|
||||
(assert (= myvar 0) "fiber creation does not call fiber function")
|
||||
(fiber.resume myfiber)
|
||||
(assert (= myvar 2) "fiber debug statement breaks at proper point")
|
||||
(assert (= (fiber.status myfiber) :debug) "fiber enters debug state")
|
||||
(fiber.resume myfiber)
|
||||
(assert (= myvar 4) "fiber resumes properly from debug state")
|
||||
(assert (= (fiber.status myfiber) :dead) "fiber properly dies from debug state")
|
||||
|
||||
|
||||
(end-suite)
|
||||
|
||||
Reference in New Issue
Block a user