Summary follows.

Files: 
CommentFileSizeAuthor
#31 mollom.cache_.31.patch72.15 KBsun
PASSED: [[SimpleTest]]: [MySQL] 6,045 pass(es).
[ View ]
#29 mollom.cache_.29.patch71.63 KBsun
FAILED: [[SimpleTest]]: [MySQL] 6,028 pass(es), 6 fail(s), and 1 exception(s).
[ View ]
#27 mollom.cache_.27.patch67.16 KBsun
FAILED: [[SimpleTest]]: [MySQL] 6,049 pass(es), 3 fail(s), and 1 exception(s).
[ View ]
#26 mollom.cache_.26.patch10.56 KBsun
PASSED: [[SimpleTest]]: [MySQL] 6,691 pass(es).
[ View ]
#25 mollom.cache_.25.patch15.17 KBsun
PASSED: [[SimpleTest]]: [MySQL] 6,064 pass(es).
[ View ]
#23 mollom.cache_.23.patch14.38 KBsun
FAILED: [[SimpleTest]]: [MySQL] 6,037 pass(es), 3 fail(s), and 0 exception(s).
[ View ]
#22 0001-1938768-by-sun-Fixed-CAPTCHA-form-element-is-not-alw.patch17.41 KBsun
PASSED: [[SimpleTest]]: [MySQL] 4,674 pass(es).
[ View ]
#21 mollom.cache_.21.patch16.85 KBsun
PASSED: [[SimpleTest]]: [MySQL] 5,274 pass(es).
[ View ]
#20 mollom.cache_.20.patch18.52 KBsun
PASSED: [[SimpleTest]]: [MySQL] 5,282 pass(es).
[ View ]
#18 mollom.cache_.18.patch17.7 KBsun
FAILED: [[SimpleTest]]: [MySQL] 5,270 pass(es), 12 fail(s), and 5 exception(s).
[ View ]
#16 mollom.cache_.16.patch52.7 KBsun
PASSED: [[SimpleTest]]: [MySQL] 4,450 pass(es).
[ View ]
#15 0001-1938768-by-sun-Fixed-text-analysis-is-incompatible-w.patch49.91 KBsun
PASSED: [[SimpleTest]]: [MySQL] 4,448 pass(es).
[ View ]
#12 mollom.cache_.test-only.12.patch23.78 KBsun
FAILED: [[SimpleTest]]: [MySQL] 5,025 pass(es), 2 fail(s), and 0 exception(s).
[ View ]
#11 0001-1938768-by-sun-Fixed-text-analysis-is-incompatible-w.patch48.5 KBsun
PASSED: [[SimpleTest]]: [MySQL] 5,027 pass(es).
[ View ]
#10 mollom.cache_.10.patch19.28 KBsun
PASSED: [[SimpleTest]]: [MySQL] 5,028 pass(es).
[ View ]
#8 mollom.cache_.8.patch19.56 KBsun
FAILED: [[SimpleTest]]: [MySQL] 4,948 pass(es), 3 fail(s), and 0 exception(s).
[ View ]
#6 mollom.cache_.6.patch32.4 KBsun
FAILED: [[SimpleTest]]: [MySQL] 4,751 pass(es), 20 fail(s), and 3 exception(s).
[ View ]
#4 mollom.cache_.4.patch4.4 KBsun
FAILED: [[SimpleTest]]: [MySQL] 4,864 pass(es), 20 fail(s), and 8 exception(s).
[ View ]
#2 mollom.cache_.2.patch2.67 KBsun
FAILED: [[SimpleTest]]: [MySQL] 4,520 pass(es), 153 fail(s), and 43 exception(s).
[ View ]
mollom.cache_.0.patch653 bytessun
FAILED: [[SimpleTest]]: [MySQL] 4,863 pass(es), 22 fail(s), and 4 exception(s).
[ View ]

Comments

Status:Needs review» Needs work

The last submitted patch, mollom.cache_.0.patch, failed testing.

Status:Needs work» Needs review
StatusFileSize
new2.67 KB
FAILED: [[SimpleTest]]: [MySQL] 4,520 pass(es), 153 fail(s), and 43 exception(s).
[ View ]

Quite a bunch of the test failures were expected, since the enforced caching also has an impact on the fake/testing server implementation.

Now, attached is a pretty radical patch, which attempts to eliminate the entire dependency on the form cache.

Btw, #type 'hidden' is totally weird. I did not know that it does not process user input. (There's no form_type_hidden_value() #value_callback function for it.) I don't know why that is, but Drupal core must have thought it is a good idea... (?!)

Status:Needs review» Needs work

The last submitted patch, mollom.cache_.2.patch, failed testing.

Status:Needs work» Needs review
StatusFileSize
new4.4 KB
FAILED: [[SimpleTest]]: [MySQL] 4,864 pass(es), 20 fail(s), and 8 exception(s).
[ View ]

Resolved a couple of problems caused by #type 'hidden'.

But now with a pretty challenging @todo about tracking state without the luxury of the form cache. Perhaps something along the lines of a token might work?

Status:Needs review» Needs work

The last submitted patch, mollom.cache_.4.patch, failed testing.

Status:Needs work» Needs review
StatusFileSize
new32.4 KB
FAILED: [[SimpleTest]]: [MySQL] 4,751 pass(es), 20 fail(s), and 3 exception(s).
[ View ]

Spent the past days with debugging this to death. Let's see how far we get.

Note: Patch contains tons of commented-out debugging code.

Status:Needs review» Needs work

The last submitted patch, mollom.cache_.6.patch, failed testing.

Status:Needs work» Needs review
StatusFileSize
new19.56 KB
FAILED: [[SimpleTest]]: [MySQL] 4,948 pass(es), 3 fail(s), and 0 exception(s).
[ View ]

Exciting!

Now without all of the debugging code.

Status:Needs review» Needs work

The last submitted patch, mollom.cache_.8.patch, failed testing.

Status:Needs work» Needs review
StatusFileSize
new19.28 KB
PASSED: [[SimpleTest]]: [MySQL] 5,028 pass(es).
[ View ]

If this one comes back green, then we're ready for production/live site testing.

That said, this still needs a lot of code documentation, which I'll work on in parallel.

Title:Test reverse-proxy/HTTP-level page cachesText analysis is incompatible with enabled page cache/reverse proxy
Component:Tests» Code
Category:task» bug
Priority:Normal» Critical
StatusFileSize
new48.5 KB
PASSED: [[SimpleTest]]: [MySQL] 5,027 pass(es).
[ View ]

Added tons of documentation and final code clean-ups.

StatusFileSize
new23.78 KB
FAILED: [[SimpleTest]]: [MySQL] 5,025 pass(es), 2 fail(s), and 0 exception(s).
[ View ]

Test validation.

Status:Needs review» Needs work

The last submitted patch, mollom.cache_.test-only.12.patch, failed testing.

Version:7.x-2.x-dev» 6.x-2.x-dev
Status:Needs work» Patch (to be ported)

Excellent. Committed and pushed to 7.x-2.x.

That said, these (major) changes are being manually tested on various production sites currently. Based on my own testing, I continue to expect to receive positive confirmations over the next few days.

Meanwhile, we can move forward with backporting these changes to 6.x-2.x. In case any issues will crop up, we can always get back to D7.

Status:Patch (to be ported)» Needs review
StatusFileSize
new49.91 KB
PASSED: [[SimpleTest]]: [MySQL] 4,448 pass(es).
[ View ]

Attached patch is a full backport of the D7 patch. It appears to work identically based on my own testing.

StatusFileSize
new52.7 KB
PASSED: [[SimpleTest]]: [MySQL] 4,450 pass(es).
[ View ]

A couple of additional fixes for D6... but first patch in this serial is still identical to #15.

Version:6.x-2.x-dev» 7.x-2.x-dev
Status:Needs review» Fixed

Committed and pushed to 6.x-2.x.

For now, I'm calling this fixed. If anyone experiences any kind of issues through manual testing prior to the new release, please re-open.

Status:Fixed» Needs review
StatusFileSize
new17.7 KB
FAILED: [[SimpleTest]]: [MySQL] 5,270 pass(es), 12 fail(s), and 5 exception(s).
[ View ]

We identified a couple of minor bugs in manual testing — e.g., the CAPTCHA form element is not hidden under certain circumstances.

Status:Needs review» Needs work

The last submitted patch, mollom.cache_.18.patch, failed testing.

Status:Needs work» Needs review
StatusFileSize
new18.52 KB
PASSED: [[SimpleTest]]: [MySQL] 5,282 pass(es).
[ View ]

Fixed bogus tests.

StatusFileSize
new16.85 KB
PASSED: [[SimpleTest]]: [MySQL] 5,274 pass(es).
[ View ]

Reverted the CAPTCHA URL changes and commented out test assertions, deferred to #1959904: Retrieve only one CAPTCHA per form submission attempt

Version:7.x-2.x-dev» 6.x-2.x-dev
StatusFileSize
new17.41 KB
PASSED: [[SimpleTest]]: [MySQL] 4,674 pass(es).
[ View ]

Version:6.x-2.x-dev» 7.x-2.x-dev
StatusFileSize
new14.38 KB
FAILED: [[SimpleTest]]: [MySQL] 6,037 pass(es), 3 fail(s), and 0 exception(s).
[ View ]

Postponed #22 and the backport to D6 for now.

Manual testing on production sites discovered some problems that can occur for anonymous users with enabled page + form caching, when repetitively re-validating a form submission. Such form submission flows happen rarely, but yet, they are possible.

Attached patch quadruples the test coverage to reliably catch all of these scenarios.

Status:Needs review» Needs work

The last submitted patch, mollom.cache_.23.patch, failed testing.

Status:Needs work» Needs review
StatusFileSize
new15.17 KB
PASSED: [[SimpleTest]]: [MySQL] 6,064 pass(es).
[ View ]

Adjusted the Comment form integration test expectations accordingly. This patch should come back green.

StatusFileSize
new10.56 KB
PASSED: [[SimpleTest]]: [MySQL] 6,691 pass(es).
[ View ]

Additionally massively hardening CAPTCHA-only test coverage.

Version:7.x-2.x-dev» 6.x-2.x-dev
StatusFileSize
new67.16 KB
FAILED: [[SimpleTest]]: [MySQL] 6,049 pass(es), 3 fail(s), and 1 exception(s).
[ View ]

Committed #25 + #26 to 7.x-2.x.

Now back to the backport... (which caused the 7.x-2.x follow-up patches in the first place)

Let's see what the testbot has to say on this cumulative patch serial.

Status:Needs review» Needs work

The last submitted patch, mollom.cache_.27.patch, failed testing.

Status:Needs work» Needs review
StatusFileSize
new71.63 KB
FAILED: [[SimpleTest]]: [MySQL] 6,028 pass(es), 6 fail(s), and 1 exception(s).
[ View ]

In D6, Comment module triggers the form validation stack from within an #after_build callback, before the form is fully built, and without going through drupal_process_form().

Catering for that case required some advanced measures. As far as I can see, this should come back green.

Status:Needs review» Needs work

The last submitted patch, mollom.cache_.29.patch, failed testing.

Status:Needs work» Needs review
StatusFileSize
new72.15 KB
PASSED: [[SimpleTest]]: [MySQL] 6,045 pass(es).
[ View ]

Hopefully for real now.

Status:Needs review» Fixed

Thanks for reporting, reviewing, and testing! Committed to all branches.

A new development snapshot will be available within the next 12 hours. This improvement will be available in the next official release.

Status:Fixed» Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

does that patch work for D7 version?