2010-06-04 05:12:19 -04:00
|
|
|
#!/usr/bin/env perl
|
2006-04-28 09:20:51 -04:00
|
|
|
|
|
|
|
use strict;
|
2008-11-12 16:54:49 -05:00
|
|
|
use warnings;
|
2006-04-28 09:20:51 -04:00
|
|
|
|
|
|
|
use HTTPTest;
|
|
|
|
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
2007-08-22 10:05:18 -04:00
|
|
|
my $currentversion = <<EOF;
|
2006-10-12 12:18:57 -04:00
|
|
|
11111111111111111111111111111111111111111111111111
|
|
|
|
222222222222222222222222222222222222222222222222222222222222
|
|
|
|
3333333333333333333333333333333333333333333333333333333333333333333333
|
|
|
|
444444444444444444444444444444444444444444444444444444444444
|
|
|
|
55555555555555555555555555555555555555555555555555
|
2006-04-28 09:20:51 -04:00
|
|
|
EOF
|
|
|
|
|
2008-05-31 15:48:23 -04:00
|
|
|
# The server should serve a slightly different content, but with the
|
|
|
|
# same length, so we can test which version was downloaded.
|
|
|
|
my $modifiedversion = $currentversion;
|
|
|
|
$modifiedversion =~ s/^(.{20}).(.*)$/$1x$2/s;
|
|
|
|
|
2006-04-28 09:20:51 -04:00
|
|
|
# code, msg, headers, content
|
|
|
|
my %urls = (
|
2006-10-12 12:18:57 -04:00
|
|
|
'/somefile.txt' => {
|
2006-04-28 09:20:51 -04:00
|
|
|
code => "200",
|
|
|
|
msg => "Dontcare",
|
|
|
|
headers => {
|
2006-10-12 12:18:57 -04:00
|
|
|
"Content-type" => "text/plain",
|
2007-08-22 10:05:18 -04:00
|
|
|
"Last-Modified" => "Sat, 09 Oct 2004 08:30:00 GMT",
|
2006-04-28 09:20:51 -04:00
|
|
|
},
|
2008-05-31 15:48:23 -04:00
|
|
|
content => $modifiedversion,
|
2006-04-28 09:20:51 -04:00
|
|
|
},
|
|
|
|
);
|
|
|
|
|
2008-06-12 05:18:35 -04:00
|
|
|
my $cmdline = $WgetTest::WGETPATH . " -N http://localhost:{{port}}/somefile.txt";
|
2006-04-28 09:20:51 -04:00
|
|
|
|
|
|
|
my $expected_error_code = 0;
|
|
|
|
|
|
|
|
my %existing_files = (
|
2006-10-12 12:18:57 -04:00
|
|
|
'somefile.txt' => {
|
2007-08-22 10:05:18 -04:00
|
|
|
content => $currentversion,
|
|
|
|
timestamp => 1097310600, # "Sat, 09 Oct 2004 08:30:00 GMT"
|
2006-04-28 09:20:51 -04:00
|
|
|
},
|
|
|
|
);
|
|
|
|
|
|
|
|
my %expected_downloaded_files = (
|
2006-10-12 12:18:57 -04:00
|
|
|
'somefile.txt' => {
|
2007-08-22 10:05:18 -04:00
|
|
|
content => $currentversion,
|
|
|
|
timestamp => 1097310600, # "Sat, 09 Oct 2004 08:30:00 GMT"
|
2006-04-28 09:20:51 -04:00
|
|
|
},
|
|
|
|
);
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
2006-10-12 12:18:57 -04:00
|
|
|
my $the_test = HTTPTest->new (name => "Test-N-current",
|
2009-09-21 23:39:44 -04:00
|
|
|
input => \%urls,
|
|
|
|
cmdline => $cmdline,
|
|
|
|
errcode => $expected_error_code,
|
2006-04-28 09:20:51 -04:00
|
|
|
existing => \%existing_files,
|
|
|
|
output => \%expected_downloaded_files);
|
2007-07-12 02:10:48 -04:00
|
|
|
exit $the_test->run();
|
2006-04-28 09:20:51 -04:00
|
|
|
|
|
|
|
# vim: et ts=4 sw=4
|