diff options
Diffstat (limited to 't/release/Test')
-rw-r--r-- | t/release/Test/IRC/Server.pm6 | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/t/release/Test/IRC/Server.pm6 b/t/release/Test/IRC/Server.pm6 new file mode 100644 index 0000000..fed3d66 --- /dev/null +++ b/t/release/Test/IRC/Server.pm6 @@ -0,0 +1,20 @@ +unit class Test::IRC::Server; + +use JSON::Fast; + +has $!port; +has $!proc; +has Promise $.promise; +has @.out; + +submethod BUILD (:$!port = 5000, :$server = 't/release/servers/01-basic.pl') { + $!proc = Proc::Async.new: 'perl', $server, $!port; + $!proc.stdout.tap: { + %*ENV<IRC_CLIENT_DEBUG> and dd .lines; + @!out.append: |.linesĀ».&from-json + }; + $!proc.stderr.tap: { warn $_ }; + $!promise = $!proc.start; +} + +method kill { $!proc.kill; } |