packages/lang/python/python-greenlet/test.sh

26 lines
493 B
Bash

#!/bin/sh
[ "$1" = python3-greenlet ] || exit 0
python3 - <<'EOF'
import greenlet
results = []
def consumer():
while True:
value = greenlet.getcurrent().parent.switch()
if value is None:
break
results.append(value * 2)
c = greenlet.greenlet(consumer)
c.switch() # start consumer, runs until first switch back
for i in [1, 2, 3]:
c.switch(i)
c.switch(None) # signal done
assert results == [2, 4, 6], f"Expected [2, 4, 6], got {results}"
EOF