diff options
Diffstat (limited to 't/release')
-rw-r--r-- | t/release/01-basic.t | 63 | ||||
-rw-r--r-- | t/release/02-multi-server.t | 76 | ||||
-rw-r--r-- | t/release/Test/IRC/Server.pm6 | 20 | ||||
-rw-r--r-- | t/release/servers/01-basic.pl | 62 |
4 files changed, 0 insertions, 221 deletions
diff --git a/t/release/01-basic.t b/t/release/01-basic.t deleted file mode 100644 index fbbabda..0000000 --- a/t/release/01-basic.t +++ /dev/null @@ -1,63 +0,0 @@ -use lib <lib t/release>; -use Test; -use Test::When <release>; -use Test::Notice; -use IRC::Client; -use Test::IRC::Server; - -my $Wait = (%*ENV<IRC_CLIENT_TEST_WAIT>//1) * 5; - -notice 'Testing connection to one server and joining two channels'; - -diag 'Starting IRC Server'; -my $s = Test::IRC::Server.new; -END { $s.kill }; - -loop { - last if $s.out.elems >= 2; - sleep 0.5; -} - -diag 'Starting IRC Client'; -start { - my $irc = IRC::Client.new( - :debug(%*ENV<IRC_CLIENT_DEBUG>//0) - :nick<IRCBot> - :channels<#perl6 #perl7> - :servers( - meow => { :port<5000> } - ) - ).run; -} - -diag 'Waiting for things to happen...'; -Promise.in($Wait).then: {$s.kill} -await $s.promise; - -my $out = [ - {:args($[[Any],]), :event("ircd_registered")}, - {:args($[[5000, 1, "0.0.0.0"],]), :event("ircd_listener_add")}, - { - :args( - $[["IRCBot", 1, 'time', "+i", "~Perl6IRC", - "simple.poco.server.irc", "simple.poco.server.irc", - "Perl6 IRC Client"],] - ), - :event("ircd_daemon_nick")}, - { - :args($[["IRCBot!~Perl6IRC\@simple.poco.server.irc", "#perl6"],]), :event("ircd_daemon_join") - }, - { - :args($[["IRCBot!~Perl6IRC\@simple.poco.server.irc", "#perl7"],]), :event("ircd_daemon_join") - } -]; - -# Fix time signature; -for $s.out { - next unless .<event> eq 'ircd_daemon_nick'; - .<args>[0][2] = 'time'; -} - -is-deeply $s.out, $out, 'Server output looks right'; - -done-testing; diff --git a/t/release/02-multi-server.t b/t/release/02-multi-server.t deleted file mode 100644 index 6a223d7..0000000 --- a/t/release/02-multi-server.t +++ /dev/null @@ -1,76 +0,0 @@ -use lib <lib t/release>; -use Test; -use Test::When <release>; -use Test::Notice; -use IRC::Client; -use Test::IRC::Server; - -my $Wait = (%*ENV<IRC_CLIENT_TEST_WAIT>//1) * 5; - -notice 'Testing connection to four servers and joining two channels in each'; - -diag 'Starting IRC Servers'; -my $s1 = Test::IRC::Server.new: :port<5020>; -my $s2 = Test::IRC::Server.new: :port<5021>; -my $s3 = Test::IRC::Server.new: :port<5022>; -my $s4 = Test::IRC::Server.new: :port<5023>; -END { $s1.kill; $s2.kill; $s3.kill; $s4.kill; }; - -loop { - last if $s1.out.elems & $s2.out.elems & $s3.out.elems & $s4.out.elems >= 2; - sleep 0.5; -} - -diag 'Starting IRC Client'; -start { - my $irc = IRC::Client.new( - :debug(%*ENV<IRC_CLIENT_DEBUG>//0) - :nick<IRCBot> - :channels<#perl6 #perl7> - :servers( - s1 => { :port<5020> }, - s2 => { :port<5021>, :nick<OtherBot>, :channels<#perl7 #perl9> }, - s3 => { :port<5022>, :channels<#perl10 #perl11> }, - s4 => { :port<5023>, :nick<YetAnotherBot> }, - ) - ).run; -} - -diag 'Waiting for things to happen...'; -Promise.in($Wait).then: { $s1.kill; $s2.kill; $s3.kill; $s4.kill; } -await Promise.allof: ($s1, $s2, $s3, $s4).map: *.promise; - -dd $s1.out; -diag '----'; -dd $s2.out; -diag '----'; -dd $s3.out; -diag '----'; -dd $s4.out; -diag '----'; - -# -# my $out = [ -# {:args($[[Any],]), :event("ircd_registered")}, -# {:args($[[5000, 1, "0.0.0.0"],]), :event("ircd_listener_add")}, -# { -# :args( -# $[["IRCBot", 1, 'time', "+i", "~Perl6IRC", -# "simple.poco.server.irc", "simple.poco.server.irc", -# "Perl6 IRC Client"],] -# ), -# :event("ircd_daemon_nick")}, -# { -# :args($[["IRCBot!~Perl6IRC\@simple.poco.server.irc", "#perl6"],]), :event("ircd_daemon_join") -# } -# ]; -# -# # Fix time signature; -# for $s.out { -# next unless .<event> eq 'ircd_daemon_nick'; -# .<args>[0][2] = 'time'; -# } -# -# is-deeply $s.out, $out, 'Server output looks right'; - -done-testing; diff --git a/t/release/Test/IRC/Server.pm6 b/t/release/Test/IRC/Server.pm6 deleted file mode 100644 index fed3d66..0000000 --- a/t/release/Test/IRC/Server.pm6 +++ /dev/null @@ -1,20 +0,0 @@ -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; } diff --git a/t/release/servers/01-basic.pl b/t/release/servers/01-basic.pl deleted file mode 100644 index 086e213..0000000 --- a/t/release/servers/01-basic.pl +++ /dev/null @@ -1,62 +0,0 @@ -use strict; -use warnings; -use JSON::Meth; -use 5.020; -use POE qw(Component::Server::IRC); - -$|++; - -my ($Port) = @ARGV; - -my %config = ( - servername => 'simple.poco.server.irc', - nicklen => 15, - network => 'SimpleNET' -); - -my $pocosi = POE::Component::Server::IRC->spawn( config => \%config ); - -POE::Session->create( - package_states => [ - 'main' => [qw(_start _default)], - ], - heap => { ircd => $pocosi }, -); - -$poe_kernel->run(); - -sub _start { - my ($kernel, $heap) = @_[KERNEL, HEAP]; - - $heap->{ircd}->yield('register', 'all'); - $heap->{ircd}->add_auth(mask => '*@*'); - $heap->{ircd}->add_listener(port => $Port); - $heap->{ircd}->add_operator({ - username => 'moo', - password => 'fishdont', - }); -} - -sub _default { - my ($event, @args) = @_[ARG0 .. $#_]; - say { - event => $event, - args => \@args, - }->$j; - - - # print "$event: "; - # for my $arg (@args) { - # if (ref($arg) eq 'ARRAY') { - # print "[", join ( ", ", @$arg ), "] "; - # } - # elsif (ref($arg) eq 'HASH') { - # print "{", join ( ", ", %$arg ), "} "; - # } - # else { - # print "'$arg' "; - # } - # } - # - # print "\n"; - } |