monkdiscuss
Co-Rion
<p>
After some trials and tribulations we're proud to announce the
Beta Database. The database
should be an exact copy of the production database running on a beefier
machine.
</p>
<p>Against the spirit of Google, beta means beta, and not "unsupported"
or "don't sue us". It means that:
</p>
<h2>All changes on the Beta Database will be lost, as it is only temporary.</h2>
<p>
The database is a <b>copy</b>
of PerlMonks as of the 24th of September. Please don't post real questions there
and also don't post answers there. It will be wiped whenever a new copy
of the real PerlMonks database is loaded into it.
</p>
<p>As we're moving from MySQL 4 to MySQL 5, there are bound to be some queries
and pages
that don't work anymore. [ambrus] thankfully has already found two such instances (MySQL 5
is very picky about the order of implicit JOINs and LEFT JOINs).
Please go there, check that everything is as you expect, and reply here with
the pages you find that are not working.
</p>
<h3>The test program</h3>
<p>For regression testing, I'm using the following program. It would be nice
if your bug reports used a similar program to verify the bug or that the bug
got fixed. Please also check that the bug does not also occur with the normal
PerlMonks site <c>:)</c>.
</p>
<c>
#!/opt/perl/bin/perl5.10.0
use strict;
use Test::WWW::Mechanize;
use Test::More;
use vars qw($beta $production $login $pass);
($login,$pass) = @ARGV;
my @tests = <DATA>;
chomp @tests;
plan tests => 4+ 2*@tests;
my %mech = (
beta => {
url => 'http://qs343.pair.com/~monkperl/beta.cgi?',
mech => Test::WWW::Mechanize->new(),
},
production => {
url => 'http://perlmonks.net/?',
mech => Test::WWW::Mechanize->new(),
},
);
for my $site (sort keys %mech) {
my $m = $mech{$site}->{mech};
my $url = $mech{$site}->{url};
$m->get("${url}node=109");
$m->submit_form(
with_fields => {
user => $login,
passwd => $pass,
},
);
$m->content_like(qr!Hey\.\s*Glad you're back!i, "Logged in as '$login'")
or $m->save_content('login.fail');
$m->content_unlike(qr!Oops!i, "Correct password")
or $m->save_content('login.fail');
};
for my $url (@tests) {
for my $site (sort keys %mech) {
my $u = $mech{$site}->{url} . $url;
my $m = $mech{$site}->{mech};
$m->get($u);
$m->content_unlike( qr/Server Error\s*\(Error ID/, "[$site] No error on $url" );
$m->save_content('log.html');
};
};
__DATA__
node=The+Monastery+Gates
node=Message+Inbox
node=Patch+lister
node=Recently+Active+Threads;nnt-as-of=2008-08-21
</c>
<h2>Known bugs</h2>
<ol>
<li>The linked <c>/css/common.css</c> is not found. This is because common.css
does not live in the database and I don't want to mess with the global RewriteRules
just for testing.
</li>
<li>The beta website isn't as responsive as it could be because it runs as a CGI instead
of using mod_perl.</li>
</ol>
Thanks for helping us test,<br/>
[Co-Rion] for the [gods]
<p><small><b>Update</b>: Removed link to <c>http://qs343.pair.com/~monkperl/beta.cgi?node_id=109</c>
as Google found it and the script doesn't exist anymore.</small></p>