Skip to content

Commit cc89bf0

Browse files
committed
Try a simpler test
1 parent 4f365db commit cc89bf0

File tree

1 file changed

+15
-109
lines changed

1 file changed

+15
-109
lines changed

tx/Dbasic.t

Lines changed: 15 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -1,141 +1,47 @@
11
use common::sense;
22

3-
use Test::More tests => 49;
3+
use Test::More tests => 5;
44
use IPC::Run qw(start);
55

6-
my $tor2web =
7-
start( [ '/bin/sh', 't/bin/tor2web', '-c', 't/etc/conf/test.conf' ], undef,
8-
'>&2' );
6+
my $tor2web = start( [ '/bin/bash', 't/bin/tor2web',
7+
'-c', 't/etc/conf/test.conf' ], undef, '>&2' );
98

109
use IO::Socket::SSL;
1110

1211
# create a connecting socket
13-
my @sockets;
14-
for ( 1 .. 3 ) {
12+
my $socket;
1513
my $ctr = 0;
1614
do {
17-
diag "Connection $_ try $ctr: $!"
15+
diag "Connection attempt $ctr: $!"
1816
if ( $ctr != 0 );
19-
sleep( ( $_ == 1 && $ctr == 0 ) * 20 + $ctr );
20-
$sockets[$_] = new IO::Socket::SSL(
17+
sleep( ( $ctr == 0 ) * 2 + $ctr );
18+
$socket = new IO::Socket::SSL(
2119
PeerHost => '127.0.0.1',
2220
PeerPort => '8444',
2321
Proto => 'tcp',
2422
SSL_hostname => 'test.onion.test',
2523
SSL_fingerprint => 'sha256$D3:F7:0F:F4:57:B5:24:E2:0C:95:2E:17:A8:39:6E:A2:24:FB:F0:8A:A9:4A:7B:48:E6:AE:C3:3A:05:A0:61:55',
2624
);
27-
} while ( !$sockets[$_]
28-
&& $_ == 1
25+
} while ( !$socket
2926
&& $! == $!{ECONNREFUSED}
3027
&& $ctr++ < 4 );
31-
unless ( $sockets[$_] ) {
32-
fail "$_: $ctr: cannot connect to the server $!\n";
28+
unless ( $socket ) {
29+
fail "Cannot connect to the server $!";
3330
$tor2web->kill_kill;
3431
die;
3532
}
36-
pass "$_: connected to the server";
37-
}
33+
pass 'Connected to the server';
3834

3935
my $response = "";
4036
sleep 3;
4137

42-
$sockets[2]->autoflush(1);
43-
is $sockets[2]->send("wall Hello World!"), 17, 'wall msg began';
38+
$socket->autoflush(1);
4439

45-
# data to send to a server
46-
$sockets[1]->autoflush(1);
47-
is $sockets[1]->send("wall Hello World!\n"), 18, 'wall msg sent';
48-
$sockets[2]->recv( $response, 28 );
49-
is $response, "211 wall: Hello World!\r\n", 'wall msg recv';
50-
$sockets[3]->recv( $response, 28 );
51-
is $response, "211 wall: Hello World!\r\n", 'wall msg recv again';
52-
53-
$sockets[3]->autoflush(1);
54-
is $sockets[3]->send("next Hello World!\n"), 18, 'next msg sent';
55-
$sockets[1]->recv( $response, 28 );
56-
is $response, "211 prev: Hello World!\r\n", 'next msg recv';
57-
58-
is $sockets[1]->send("prev Hello World!\n"), 18, 'prev msg sent';
59-
$sockets[3]->recv( $response, 28 );
60-
is $response, "211 next: Hello World!\r\n", 'prev msg recv';
61-
62-
is $sockets[3]->send("ping Hello World!\n"), 18, 'echo msg sent';
63-
$sockets[3]->recv( $response, 28 );
40+
is $socket->send("get ping HTTP/1.0\r\n\r\n"), 18, 'echo msg sent';
41+
$socket->recv( $response, 28 );
6442
is $response, "211 pong: Hello World!\r\n", 'echo msg recv';
6543

66-
is $sockets[1]->send("bad Hello World!\n"), 17, 'bad msg sent';
67-
$sockets[1]->recv( $response, 53 );
68-
is $response, "502 Bad command or it is not implemented here.\r\n",
69-
'bad msg recv';
70-
71-
$sockets[1]->blocking(0);
72-
$sockets[1]->recv( $response, 28 );
73-
$sockets[1]->blocking(1);
74-
cmp_ok $!, '==', $!{EWOULDBLOCK}, 'recv would block';
75-
is $response, "", 'recv string empty';
76-
$sockets[3]->blocking(0);
77-
$sockets[3]->recv( $response, 28 );
78-
$sockets[3]->blocking(1);
79-
cmp_ok $!, '==', $!{EWOULDBLOCK}, 'recv would block again';
80-
is $response, "", 'recv string empty again';
81-
82-
is $sockets[2]->send("\n"), 1, 'wall msg sent';
83-
$sockets[1]->recv( $response, 28 );
84-
is $response, "211 wall: Hello World!\r\n", 'wall msg recv';
85-
$sockets[3]->recv( $response, 28 );
86-
is $response, "211 wall: Hello World!\r\n", 'wall msg recv';
87-
88-
is $sockets[1]->send("listen 8AAAA\n"), 13, 'listen 0xF0 sent';
89-
$sockets[1]->recv( $response, 128 );
90-
warn $response;
91-
is $sockets[3]->send("send 8AAAA test12\n"), 18, 'send msg to 0xF0';
92-
$sockets[1]->recv( $response, 28 );
93-
is $response, "211 send: 8AAAA test12\r\n", 'channel 0xF0 msg recv';
94-
95-
is $sockets[2]->send("listen 8AAADw\n"), 14, 'listen 0xF000000F sent';
96-
$sockets[2]->recv( $response, 128 );
97-
warn $response;
98-
is $sockets[1]->send("send 8AAADw test1\n"), 18, 'send msg to 0xF000000F';
99-
$sockets[2]->recv( $response, 28 );
100-
is $response, "211 send: 8AAADw test1\r\n", 'channel 0xF000000F msg recv';
101-
102-
# 1483250400 Sun Jan 1 00:00:00 CST 2017
103-
# 1485962931 - 1483250400 = 2712531
104-
is $sockets[1]->send("store ok 3 2712531 ::1 4458 dat hi\n"), 35, 'store long msg sent';
105-
$sockets[1]->recv( $response, 4096 );
106-
is $response, "504 Too many parameters.\r\n", 'store ok msg recv';
107-
108-
is $sockets[1]->send("store ok 3 2712531 ::1\n"), 23, 'store short msg sent';
109-
$sockets[1]->recv( $response, 4096 );
110-
is $response, "501 Too few parameters.\r\n", 'store ok msg recv';
111-
112-
is $sockets[1]->send("store ok hi 2712531 ::1 4458\n"), 29, 'store rating msg sent';
113-
$sockets[1]->recv( $response, 4096 );
114-
is $response, "501 Invalid rating.\r\n", 'store rating msg recv';
115-
116-
is $sockets[1]->send("store ok 3 hi ::1 4458\n"), 23, 'store time msg sent';
117-
$sockets[1]->recv( $response, 4096 );
118-
is $response, "501 Invalid time.\r\n", 'store time msg recv';
119-
120-
is $sockets[1]->send("store ok 3 2712531 hi 4458\n"), 27, 'store address msg sent';
121-
$sockets[1]->recv( $response, 4096 );
122-
is $response, "501 Invalid network address.\r\n", 'store address msg recv';
123-
124-
is $sockets[1]->send("store ok 3 2712531 ::1 hi\n"), 26, 'store port msg sent';
125-
$sockets[1]->recv( $response, 4096 );
126-
is $response, "501 Invalid port.\r\n", 'store port msg recv';
127-
128-
is $sockets[1]->send("store ok 3 2712531 ::1 4458 word\n"), 33, 'store good msg sent';
129-
$sockets[1]->recv( $response, 4096 );
130-
is $response, "220 Saved word\r\n", 'store good msg recv';
131-
132-
is $sockets[1]->send("load ok\n"), 8, 'load msg sent';
133-
$sockets[1]->recv( $response, 4096 );
134-
is $response, "220 ok is 3 2712531 ::1 4458 word\r\n", 'load msg recv';
135-
136-
is $sockets[2]->send("quit\r\n"), 6, 'sent quit';
137-
138-
ok $sockets[$_]->close(), "$_: closed" for ( 1 .. 3 );
44+
ok $socket->close(), 'closed';
13945

14046
$tor2web->finish();
14147
is $tor2web->result(0), 0, 'valgrind ok';

0 commit comments

Comments
 (0)