Skip to content

Instantly share code, notes, and snippets.

@dogbert17
Created December 12, 2016 14:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dogbert17/5916d833a33ce1cfd1b9c006ac49e278 to your computer and use it in GitHub Desktop.
Save dogbert17/5916d833a33ce1cfd1b9c006ac49e278 to your computer and use it in GitHub Desktop.
Fail
dogbert@dogbert-VirtualBox ~/repos/rakudo $ make t/spec/S17-supply/syntax.t
rm -f -- perl6
cp -- perl6-m perl6
chmod -- 755 perl6
/usr/bin/perl t/harness5 --fudge --moar --keep-exit-code --verbosity=1 t/spec/S17-supply/syntax.t
t/spec/S17-supply/syntax.t ..
1..68
ok 1 - Got two values emitted by supply
ok 2 - First value correct
ok 3 - Second value correct
ok 4 - Tapping the supply another time works
ok 5 - Only the one emit ran, due to done
ok 6 - Got correct value emitted
ok 7 - Did not continue running code after done
ok 8 - Block with emit then done runs emit subscription once
ok 9 - Block with emit then done runs done subscription once
ok 10 - Block with emit then done never runs quit subscription
ok 11 - Block with emit runs emit subscription once
ok 12 - Block with emit runs done subscription once (automatically)
ok 13 - Block with emit never runs quit subscription
ok 14 - Block with emit then die runs emit subscription once
ok 15 - Block with emit then die never runs done subscription once
ok 16 - Block with emit then die runs quit subscription once
ok 17 - whenever loop ran and emitted first event into supply...
ok 18 - ...and emitted correct first value
ok 19 - whenever loop ran and emitted second event into supply...
ok 20 - ...and emitted correct second value
ok 21 - done not run automatically when there is a whenever
ok 22 - no unexpected quit when there is a whenever
ok 23 - done is run if the whenever gets done
ok 24 - still no unexpected quit
ok 25 - whenever loop produced three values
ok 26 - First value from loop iteration correct
ok 27 - Second value from loop iteration correct
ok 28 - Value from LAST block correct
ok 29 - Multiple whenevers run concurrently
ok 30 - supply block with two whenevers then done runs its done
ok 31 - first whenever closes its supply due to the done
ok 32 - second whenever closes its supply due to the done
ok 33 - take-until style supply emitted correct values
ok 34 - take-until style supply is done after second supply emits
ok 35 - first supply tapped was closed
ok 36 - second supply tapped was closed
ok 37 - supply block with two whenevers starts out not done
ok 38 - still not done after one whenever gets done
ok 39 - but done after all whenevers get done
ok 40 - supply block with whenever that gets a quit emits no values
ok 41 - supply block with whenever that gets a quit is not done
ok 42 - supply block with whenever that gets a quit does quit
ok 43 - emits up to, and emit in a QUIT block, all came out OK
ok 44 - done inside of matched QUIT block worked
ok 45 - did not produce a quit, since exception handled
ok 46 - supply with one whenever that quits but handles it will be done
ok 47 - ...and the handled exception will not cause a quit
ok 48 - supply with one whenever that quits, and QUIT does not match, will still quit
ok 49 - ...and done will not be run
ok 50 - react/whenever with supply that immediately emits values works
ok 51 - Can only be in one whatever block at a time
1..3
ok 1 - 'emit 42' died
ok 2 - right exception type (X::ControlFlow)
ok 3 - .illegal matches emit
ok 52 - did we throws-like X::ControlFlow?
1..3
ok 1 - 'done' died
ok 2 - right exception type (X::ControlFlow)
ok 3 - .illegal matches done
ok 53 - did we throws-like X::ControlFlow?
ok 54 - can use channels with whenever
Thread 5 assigned to an object (Scalar) allocated by thread 1
at <unknown>:1 (<ephemeral file>:)
from SETTING::src/core/Supply.pm:1686 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:1733 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:1651 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:1636 (./CORE.setting.moarvm:run-operation)
from SETTING::src/core/Supply.pm:1681 (./CORE.setting.moarvm:run-supply-code)
from SETTING::src/core/Supply.pm:1686 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:1719 (./CORE.setting.moarvm:)
from <unknown>:1 (./CORE.setting.moarvm:)
from <unknown>:1 (./CORE.setting.moarvm:THROW)
from SETTING::src/core/control.pm:161 (./CORE.setting.moarvm:emit)
from SETTING::src/core/Channel.pm:122 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:1686 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:1733 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:1651 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:1636 (./CORE.setting.moarvm:run-operation)
from SETTING::src/core/Supply.pm:1681 (./CORE.setting.moarvm:run-supply-code)
from SETTING::src/core/Supply.pm:1686 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:316 (./CORE.setting.moarvm:)
from SETTING::src/core/ThreadPoolScheduler.pm:51 (./CORE.setting.moarvm:)
from SETTING::src/core/ThreadPoolScheduler.pm:44 (./CORE.setting.moarvm:)
from SETTING::src/core/ThreadPoolScheduler.pm:41 (./CORE.setting.moarvm:)
from SETTING::src/core/Thread.pm:30 (./CORE.setting.moarvm:THREAD-ENTRY)
Thread 4 assigned to an object (Scalar) allocated by thread 1
at <unknown>:1 (<ephemeral file>:)
from SETTING::src/core/Supply.pm:1686 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:1733 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:1651 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:1636 (./CORE.setting.moarvm:run-operation)
from SETTING::src/core/Supply.pm:1681 (./CORE.setting.moarvm:run-supply-code)
from SETTING::src/core/Supply.pm:1686 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:1719 (./CORE.setting.moarvm:)
from <unknown>:1 (./CORE.setting.moarvm:)
from <unknown>:1 (./CORE.setting.moarvm:THROW)
from SETTING::src/core/control.pm:161 (./CORE.setting.moarvm:emit)
from SETTING::src/core/Channel.pm:122 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:1686 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:1733 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:1651 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:1636 (./CORE.setting.moarvm:run-operation)
from SETTING::src/core/Supply.pm:1681 (./CORE.setting.moarvm:run-supply-code)
from SETTING::src/core/Supply.pm:1686 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:316 (./CORE.setting.moarvm:)
from SETTING::src/core/ThreadPoolScheduler.pm:51 (./CORE.setting.moarvm:)
from SETTING::src/core/ThreadPoolScheduler.pm:44 (./CORE.setting.moarvm:)
from SETTING::src/core/ThreadPoolScheduler.pm:41 (./CORE.setting.moarvm:)
from SETTING::src/core/Thread.pm:30 (./CORE.setting.moarvm:THREAD-ENTRY)
ok 55 - multiple channels in whenever blocks work
ok 56 - supply block with CLOSE phaser works as normal
ok 57 - CLOSE phaser not run yet
ok 58 - CLOSE phaser run on tap close
ok 59 - CLOSE phaser runs also on normal termination
ok 60 - CLOSE phasers do not run twice (normal termination then .close)
ok 61 - LAST in whenever triggered without iterations sees correct outer (1)
ok 62 - LAST in whenever triggered without iterations sees correct outer (2)
ok 63 - QUIT properly handles exception even when dieing synchronously with the .tap
ok 64 - QUIT in whenever triggered without iterations sees correct outer (1)
ok 65 - QUIT in whenever triggered without iterations sees correct outer (2)
Thread 7 assigned to an object (Scalar) allocated by thread 1
at <unknown>:1 (./CORE.setting.moarvm:postfix:<++>)
from t/spec/S17-supply/syntax.t:488 (<ephemeral file>:)
from SETTING::src/core/Supply.pm:1686 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:1733 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:1651 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:1636 (./CORE.setting.moarvm:run-operation)
from SETTING::src/core/Supply.pm:1681 (./CORE.setting.moarvm:run-supply-code)
from SETTING::src/core/Supply.pm:1686 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:131 (./CORE.setting.moarvm:)
from SETTING::src/core/ThreadPoolScheduler.pm:51 (./CORE.setting.moarvm:)
from SETTING::src/core/ThreadPoolScheduler.pm:44 (./CORE.setting.moarvm:)
from SETTING::src/core/ThreadPoolScheduler.pm:41 (./CORE.setting.moarvm:)
from SETTING::src/core/Thread.pm:30 (./CORE.setting.moarvm:THREAD-ENTRY)
Thread 6 assigned to an object (Scalar) allocated by thread 1
at <unknown>:1 (./CORE.setting.moarvm:postfix:<++>)
from t/spec/S17-supply/syntax.t:488 (<ephemeral file>:)
from SETTING::src/core/Supply.pm:1686 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:1733 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:1651 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:1636 (./CORE.setting.moarvm:run-operation)
from SETTING::src/core/Supply.pm:1681 (./CORE.setting.moarvm:run-supply-code)
from SETTING::src/core/Supply.pm:1686 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:131 (./CORE.setting.moarvm:)
from SETTING::src/core/ThreadPoolScheduler.pm:51 (./CORE.setting.moarvm:)
from SETTING::src/core/ThreadPoolScheduler.pm:44 (./CORE.setting.moarvm:)
from SETTING::src/core/ThreadPoolScheduler.pm:41 (./CORE.setting.moarvm:)
from SETTING::src/core/Thread.pm:30 (./CORE.setting.moarvm:THREAD-ENTRY)
Thread 5 assigned to an object (Scalar) allocated by thread 1
at <unknown>:1 (./CORE.setting.moarvm:postfix:<++>)
from t/spec/S17-supply/syntax.t:488 (<ephemeral file>:)
from SETTING::src/core/Supply.pm:1686 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:1733 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:1651 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:1636 (./CORE.setting.moarvm:run-operation)
from SETTING::src/core/Supply.pm:1681 (./CORE.setting.moarvm:run-supply-code)
from SETTING::src/core/Supply.pm:1686 (./CORE.setting.moarvm:)
from SETTING::src/core/Supply.pm:131 (./CORE.setting.moarvm:)
from SETTING::src/core/ThreadPoolScheduler.pm:51 (./CORE.setting.moarvm:)
from SETTING::src/core/ThreadPoolScheduler.pm:44 (./CORE.setting.moarvm:)
from SETTING::src/core/ThreadPoolScheduler.pm:41 (./CORE.setting.moarvm:)
from SETTING::src/core/Thread.pm:30 (./CORE.setting.moarvm:THREAD-ENTRY)
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment