Blame t/07io.t

Packit Service 8c15e4
#!/usr/bin/perl
Packit ef9df4
Packit ef9df4
use Convert::ASN1 qw(:io);
Packit ef9df4
use IO::Socket;
Packit Service e70471
use File::Temp ();
Packit ef9df4
Packit ef9df4
print "1..11\n";
Packit ef9df4
Packit ef9df4
my  $result = pack("C*", 0x30, 0x3D, 0x04, 0x04, 0x46, 0x72, 0x65, 0x64,
Packit ef9df4
			 0x30, 0x13, 0x04, 0x11, 0x41, 0x20, 0x73, 0x74,
Packit ef9df4
			 0x72, 0x69, 0x6E, 0x67, 0x20, 0x66, 0x6F, 0x72,
Packit ef9df4
			 0x20, 0x66, 0x72, 0x65, 0x64, 0x04, 0x03, 0x4A,
Packit ef9df4
			 0x6F, 0x65, 0x30, 0x1B, 0x04, 0x03, 0x68, 0x61,
Packit ef9df4
			 0x73, 0x04, 0x01, 0x61, 0x04, 0x04, 0x6C, 0x69,
Packit ef9df4
			 0x73, 0x74, 0x04, 0x02, 0x6F, 0x66, 0x04, 0x07,
Packit ef9df4
			 0x73, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x73);
Packit ef9df4
Packit Service e70471
$fd = File::Temp->new('UNLINK' => 0);
Packit Service e70471
$file = $fd->filename;
Packit Service e70471
asn_write($fd, $result);
Packit Service e70471
asn_write($fd, $result);
Packit Service e70471
$fd->close;
Packit ef9df4
Packit ef9df4
open(IN,"< $file");
Packit ef9df4
sysread(IN,$buffer,1024);
Packit ef9df4
close(IN);
Packit ef9df4
Packit ef9df4
print "not " unless $buffer eq $result x 2;
Packit ef9df4
print "ok 1\n";
Packit ef9df4
Packit ef9df4
open(IN,"< $file");
Packit ef9df4
asn_read(*IN, $input);
Packit ef9df4
close(IN);
Packit ef9df4
Packit ef9df4
print "not " unless $input eq $result;
Packit ef9df4
print "ok 2\n";
Packit ef9df4
Packit ef9df4
open(IN,"< $file");
Packit ef9df4
Packit ef9df4
undef $input;
Packit ef9df4
$input = asn_get(*IN);
Packit ef9df4
print "not " unless $input eq $result;
Packit ef9df4
print "ok 3\n";
Packit ef9df4
Packit ef9df4
print "not " unless asn_ready(*IN);
Packit ef9df4
print "ok 4\n";
Packit ef9df4
Packit ef9df4
undef $input;
Packit ef9df4
$input = asn_get(*IN);
Packit ef9df4
print "not " unless $input eq $result;
Packit ef9df4
print "ok 5\n";
Packit ef9df4
Packit ef9df4
print "not " if asn_ready(*IN);
Packit ef9df4
print "ok 6\n";
Packit ef9df4
Packit ef9df4
close(IN);
Packit ef9df4
Packit ef9df4
unlink($file);
Packit ef9df4
Packit ef9df4
my $src = IO::Socket::INET->new(Proto => 'udp');
Packit ef9df4
my $dst = IO::Socket::INET->new(Proto => 'udp');
Packit ef9df4
bind($dst, pack_sockaddr_in(0, INADDR_ANY));
Packit ef9df4
my $host = $dst->sockhost eq '0.0.0.0' ? '127.0.0.1' : $dst->sockhost;
Packit ef9df4
my $addr = pack_sockaddr_in($dst->sockport, inet_aton($host));
Packit ef9df4
Packit ef9df4
asn_send($src,$result,0,$addr) or print "not ";
Packit ef9df4
print "ok 7\n";
Packit ef9df4
Packit ef9df4
asn_recv($dst, $in2, 0) or print "not ";
Packit ef9df4
print "ok 8\n";
Packit ef9df4
Packit ef9df4
print "not " unless $in2 && $in2 eq $result;
Packit ef9df4
print "ok 9\n";
Packit ef9df4
  
Packit ef9df4
open(IN,"t/07input.dat") or die "Cannot open 07input.dat: $!\n";
Packit ef9df4
undef $input;
Packit ef9df4
my $n = asn_read(*IN,$input);
Packit ef9df4
print "not " unless $n and $n == length($input);
Packit ef9df4
print "ok 10\n";
Packit ef9df4
print "not " unless $n == 1283;
Packit ef9df4
print "ok 11\n";
Packit ef9df4