aboutsummaryrefslogtreecommitdiff
path: root/t/release/Test/IRC/Server.pm6
diff options
context:
space:
mode:
authorZoffix Znet <cpan@zoffix.com>2016-06-05 21:39:47 -0400
committerZoffix Znet <cpan@zoffix.com>2016-06-05 21:39:47 -0400
commit140959e4f170d732d990e69b9a0ca129b89e3ac4 (patch)
treec96d92c8eba8af28eea21585c1c0e5c8a18f69d7 /t/release/Test/IRC/Server.pm6
parent16056e8af837a4d982d23728adf24b4cc406576c (diff)
First working test
Diffstat (limited to 't/release/Test/IRC/Server.pm6')
-rw-r--r--t/release/Test/IRC/Server.pm620
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; }