Today there’s a major voluntary effort between the WordPress developers and the wider WordPress user community to test for and hopefully repair bugs in the upcoming 2.0.4 and 2.1 releases of WordPress.

Here’s my contribution. My thanks to leftjustified and the other bug-hunters, without whom all this would have been far less fun. You guys rock!


Validation of Administrative Interface Pages

This is a major task as the adminitrative interface is both (relatively) complex and heavily used by everyone.

Strategy

rboren asked for specific testing on single quotes and their correct escaping through the system, so a lot of my test data is going to contain capricious apostrophes and other tricky entities.

Set up local testing blog from 2.0.4
paul@kubuntu ~/public_html> svn export http://svn.automattic.com/wordpress/branches/2.0 wp-bughunt/
Exported revision 3970.
Created database wp_bughunt and configured the exported WordPress accordingly.
Install WordPress
/wp-admin/install.php
Intro: PASS
First step: PASS
Enter weblog title WordPress ‘Bughunt’, by Libertus, e-mail address paul@localhost. ERROR: the e-mail address isn’t correct. Change e-mail address to libertus@libertini.net and continue.
Second step: PASS
/wp-login.php
BUG Big red error about username field being empty. Well, I just arrived at the page, so that’s no surprise.
Login screen: PASS
/wp-admin/
Dashboard: PASS
Manage Interface
These tests were run immediately post-install, with installed demo data only.
Manage Posts – /wp-admin/edit.php
FAIL due to bug #2857, patch locally applied.
Manage Files – /wp-admin/templates.php
BUG, Fx, if file not found (i.e. .htaccess) the warning message background bleeds into the right-hand file list
BUG with zero-length writable .htaccess
Validation PASS (tried with a couple of files, both read-only and writable)
Manage Comments – /wp-admin/edit-comments.php
PASS
Manage Categories – /wp-admin/categories.php
PASS
Manage Pages – /wp-admin/edit-pages.php
PASS
Moderation – /wp-admin/moderation.php
I placed the demo comment into moderation. FAIL Error Line 56 column 329: character “[" is not allowed in the value of attribute "id". ..."radio" name="comment[1]” id=”comment[1]-approve” value=”approve” /> <label f
Links Interface
These tests were run immediately post-install, with installed demo data only.
Manage Links – /wp-admin/link-manager.php
FAILDelete links – Error duplicate specification of attribute “class”.
Add Link – /wp-admin/link-add.php
FAIL element id “friend” is already defined
Link Categories – /wp-admin/link-categories.php
FAIL – delete link – an attribute specification must start with a name or name token (nonce-related again)
FAIL – form without action
Import Blogroll – /wp-admin/link-import.php
FAIL – multiple errors, elements out of place or not allowed in context, missing end p tag
Write Interface
These tests were run immediately post-install, with installed demo data only.
Write Post – /wp-admin/post.php?action=edit&post=1
Rich editor is enabled. FAIL – multiple errors.
Warning Line 152 column 95: character “<” is the first character of a delimiter but occurred as data. …undefined” || tinyMCE.configs.length < 1 ) edToolbar();</script>
Error Line 155 column 91: document type does not allow element “p” here. …content” tabindex=”2″ id=”content”><p>Welcome to WordPress. This is your firs
Error Line 203 column 30: there is no attribute “border”. <iframe id=”uploading” border=”0″ src=”inline-uploading.php?action=view&post
Warning Line 250 column 54: cannot generate system identifier for general entity “preview”. …tp://localhost/~paul/wp-bughunt/?p=1&preview=true” width=”100%” height=”600″
Write Post – /wp-admin/post.php?action=edit&post=1
Rich editor disabled. FAIL – mostly similar errors to previous.
Write Post – edit post title to contain apostrophes
Manage Pages – /wp-admin/edit-pages.php
PASS
Write Page – /wp-admin/post.php?action=edit&post=302
FAIL – as well as the post editing errors, id “pageparent” is redefined and there is a mismatched div tag
Presentation Interface
Themes – /wp-admin/themes.php
PASS
Theme Editor – /wp-admin/theme-editor.php
PASS
Default Theme Options – Header Image and Color – /wp-admin/themes.php?page=functions.php
FAIL – multiple failures, br tag out of place, unescaped Javascript, forms without action attribute, form with uppercase POST method
Plugins Interface
Plugins – /wp-admin/plugins.php
No plugins active: PASS, Akismet activated: FAIL – misplaced <style> tag (probably the “you need to enter your key” admin notice), Akismet deactivated: PASS
Plugin Editor – /wp-admin/plugin-editor.php
PASS (both read-only and writable)
Users Interface
Your Profile – /wp-admin/profile.php
FAIL – end tag for table which is not finished
Authors & Users
FAIL – element id “adduser” already defined
Attempted to demote sole admin user to Subscriber
Operationally correct – admin notice appears. FAIL – element id “message” already defined
Options Interface
General – /wp-admin/options-general.php
PASS
Writing – /wp-admin/options-writing.php
PASS
Reading – /wp-admin/options-reading.php
PASS
Discussion – /wp-admin/options-discussion.php
PASS
Permalinks – /wp-admin/options-permalink.php
PASS
Miscellaneous – /wp-admin/options-misc.php
PASS
Import Interface
Not used much, but still should be valid markup.
Import – /wp-admin/import.php
PASS
TextPattern – /wp-admin/admin.php?import=textpattern
Page 1: FAIL – labels for non-existent IDs
DotClear – /wp-admin/admin.php?import=dotclear
Page 1: FAIL – labels for non-existed IDs
Cut and paste detected!
Movable Type – /wp-admin/admin.php?import=mt
Page 1: FAIL – uppercase POST, unescaped ampersands in URLs,
LiveJournal – /wp-admin/admin.php?import=livejournal
Page 1: FAIL – uppercase POST
Blogger
Page 1: PASS
RSS – /wp-admin/admin.php?import=rss
Page 1: FAIL – uppercase POST
Page 2: PASS

Bugs To Report

  1. E-mail address paul@localhost is valid.
  2. Login screen displays field data error message on entry
  3. Warning div for “file not found” during Manage Files bleeds into file list
  4. Warning: fread() [function.fread]: Length parameter must be greater than 0 in /home/paul/public_html/wp-bughunt/wp-admin/templates.php on line 80 when editing zero-length file
  5. Manage Posts – Unapprove/Approve comment link – unapprove worked fine, but re-approving the same comment fails with Warning: gethostbyaddr() [function.gethostbyaddr]: Address is not a valid IPv4 or IPv6 address in /home/paul/public_html/wp-bughunt/wp-includes/pluggable-functions.php on line 338 Demo comment from installation has no IP address
  6. Add user – form is blanked if a mistake is made (such as a missing e-mail address) after submission Trac #2905

2 Comments

  1. Andrew K. says:

    Hey man, was good fun squashing the validation bugs with you. Yah WordPress.

  2. Libertus says:

    Likewise! Great fun. Let’s do it again, sometime!

Leave a Reply

You must be logged in to post a comment.