blob: 1a1e8e47c970a57890bfcc749c1c45571cc2c453 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
#!/usr/bin/perl
# This test will simply run the parser on random junk.
my $no_tests = shift || 3;
use Test::More;
plan tests => $no_tests;
use HTML::Parser ();
my $file = "junk$$.html";
die if -e $file;
for (1..$no_tests) {
open(JUNK, ">$file") || die;
for (1 .. rand(5000)) {
for (1 .. rand(200)) {
print JUNK pack("N", rand(2**32));
}
print JUNK ("<", "&", ">")[rand(3)]; # make these a bit more likely
}
close(JUNK);
#diag "Parse @{[-s $file]} bytes of junk";
HTML::Parser->new->parse_file($file);
pass();
#print_mem();
}
unlink($file);
sub print_mem
{
# this probably only works on Linux
open(STAT, "/proc/self/status") || return;
while (<STAT>) {
diag $_ if /^VmSize/;
}
}
|