Problem/Motivation

We'd like to find out the greatest number of test fails/exceptions that can be caused by a single patch.

Rules:

  1. You can only delete code, no code can be added.
  2. You cannot touch t() or any code it delegates to.
  3. Your patch must pass installation and complete testing.

Proposed resolution

The only winning move is not to pass!

Remaining tasks

Leaders:

Most exceptions:
152,655 by @larowlan in #20

Most failures:
82,363 by @jibran in #62

Most green patches (not a good thing):
1 by @jibran in #32, @lauriii in #43

User interface changes

API changes

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

tim.plunkett’s picture

Issue summary: View changes
Status: Active » Needs review
FileSize
429 bytes
dawehner’s picture

FileSize
893 bytes
dawehner’s picture

Status: Needs work » Needs review

.

tim.plunkett’s picture

Issue summary: View changes
jibran’s picture

Status: Needs work » Needs review
FileSize
8.39 KB

Let's try this one.

jibran’s picture

Status: Needs work » Needs review
FileSize
376 bytes
dawehner’s picture

@jibran
Please stick to the rules.

Dave Reid’s picture

FileSize
1.75 KB
jibran’s picture

FileSize
1.1 KB

Ok

Dave Reid’s picture

FileSize
1.75 KB

Uh, rude.

jibran’s picture

+++ b/core/vendor/phpunit/phpunit/src/Framework/Constraint.php
@@ -51,10 +51,6 @@ public function evaluate($other, $description = '', $returnResult = false)
-        if ($this->matches($other)) {
-            $success = true;
-        }

I'd argue that this is not the part of Drupal :D

Dave Reid’s picture

Doesn't say it's limited to Drupal code only in the rules. Only deletions.

tim.plunkett’s picture

Issue summary: View changes

Clarifying that it must complete testing.
No rules against changing vendor code, we should be using composer anyway, but that's for another issue.

dawehner’s picture

Status: Needs work » Needs review
FileSize
1.4 KB

@davereid
Really good try/

Here is another approach.

larowlan’s picture

larowlan’s picture

FileSize
711 bytes
Dave Reid’s picture

I'm going the non-exception route, I think that's an easy way.

Despite Git showing this as having a one-line addition, you can clearly see it was only done with deleting.

Dave Reid’s picture

Status: Needs work » Needs review
Dave Reid’s picture

jibran’s picture

Status: Needs work » Needs review
FileSize
1.41 KB
larowlan’s picture

152,655 exceptions - we have a new leader :)

Dave Reid’s picture

Dave Reid’s picture

Status: Needs work » Needs review
jibran’s picture

FileSize
458 bytes
Dave Reid’s picture

Ok I think I still lead the "line deletions only" group.

jibran’s picture

And I have a green patch :D

dawehner’s picture

FileSize
712 bytes

Let's try another one

mpdonadio’s picture

Status: Needs work » Needs review
FileSize
5.27 KB
tim.plunkett’s picture

Issue summary: View changes
dawehner’s picture

FileSize
675 bytes

Stealing an idea.

Dave Reid’s picture

Status: Needs work » Needs review

Status: Needs review » Needs work

The last submitted patch, 40: 2418019-40.patch, failed testing.

lauriii’s picture

Status: Needs work » Needs review
FileSize
756 bytes

So what about this :P

EclipseGc’s picture

lauriii’s picture

FileSize
495 bytes
davidhernandez’s picture

LOL! The one time Lauri wantsfails they pass!

mpdonadio’s picture

FileSize
11.54 KB

Status: Needs review » Needs work

The last submitted patch, 47: render-nothing.patch, failed testing.

mpdonadio’s picture

Status: Needs work » Needs review
FileSize
12.01 KB

Let's see how PHPUnit does with 1 byte of memory when TestBot runs it.

Status: Needs review » Needs work

The last submitted patch, 49: render-nothing-no-memory.patch, failed testing.

The last submitted patch, 45: get-crazy.patch, failed testing.

The last submitted patch, 18: 2418019-18.patch, failed testing.

jibran’s picture

FileSize
640 bytes
jibran’s picture

Status: Needs work » Needs review

Status: Needs review » Needs work

The last submitted patch, 53: please-fail.patch, failed testing.

jibran’s picture

Status: Needs work » Needs review
FileSize
1.47 KB

Status: Needs review » Needs work

The last submitted patch, 56: more-fail.patch, failed testing.

jibran’s picture

Status: Needs work » Needs review
FileSize
199.51 KB

Cuz I can.

Status: Needs review » Needs work

The last submitted patch, 58: more-fail-v2.patch, failed testing.

jibran’s picture

Status: Needs work » Needs review
FileSize
197.94 KB

Hmmm

Status: Needs review » Needs work

The last submitted patch, 60: more-fail-v3.patch, failed testing.

jibran’s picture

Status: Needs work » Needs review
FileSize
198.91 KB

git--

Status: Needs review » Needs work

The last submitted patch, 62: more-fail-v2.1.patch, failed testing.

jibran’s picture

jibran’s picture

Issue summary: View changes

Most failures:
82,363 by @jibran in #62

alexpott’s picture

+++ b/core/modules/simpletest/src/TestBase.php
@@ -368,9 +368,7 @@ protected function checkRequirements() {
-    if (is_bool($status)) {
-      $status = $status ? 'pass' : 'fail';
-    }
+      $status = 'fail';

Patch in #62 fails the rules...

You can only delete code, no code can be added.
alexpott’s picture

Hmmm thinking about it I'm wrong that diff can be achieved with only the delete key :)

Xano’s picture

Status: Needs work » Needs review
FileSize
2.77 KB

Status: Needs review » Needs work

The last submitted patch, 68: drupal_2418019_68.patch, failed testing.

Xano’s picture

Awwww :P

EclipseGc’s picture

LOL, wow yeah Ok jibran won the game. It follows the letter of the law but not its spirit. So we acknowledge the win, and now we outlaw it. No screwing with test statuses, also likely a good rule that you can't mess with tests at all. You have to affect the functional code that represents Drupal's actual operation, not the code that tests that operation.

:-D

Eclipse

EclipseGc’s picture

Issue summary: View changes
mpdonadio’s picture

FileSize
12.28 KB

OK, I resubmit #47 under the new rules.

mpdonadio’s picture

Status: Needs work » Needs review
Dave Reid’s picture

I call BS on changing the rules.

tim.plunkett’s picture

Issue summary: View changes

@EclipseGc cannot change the rules. The rules stand as they were when @dawehner and I came up with them.

Status: Needs review » Needs work

The last submitted patch, 73: render-nothing.patch, failed testing.

EclipseGc’s picture

You have to change the rules, Jibran already "won". He achieved failure on EVERYTHING, so the game is broken without the change. if you don't change the rules, there's no point.

dawehner’s picture

Well, its also about the elegance of the solution if you ask me :)

Meh, if I just would remember the test failure I had recently with > 200k in one test.

Version: 8.0.x-dev » 8.1.x-dev

Drupal 8.0.6 was released on April 6 and is the final bugfix release for the Drupal 8.0.x series. Drupal 8.0.x will not receive any further development aside from security fixes. Drupal 8.1.0-rc1 is now available and sites should prepare to update to 8.1.0.

Bug reports should be targeted against the 8.1.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.2.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.1.x-dev » 8.2.x-dev

Drupal 8.1.9 was released on September 7 and is the final bugfix release for the Drupal 8.1.x series. Drupal 8.1.x will not receive any further development aside from security fixes. Drupal 8.2.0-rc1 is now available and sites should prepare to upgrade to 8.2.0.

Bug reports should be targeted against the 8.2.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.6 was released on February 1, 2017 and is the final full bugfix release for the Drupal 8.2.x series. Drupal 8.2.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.3.0 on April 5, 2017. (Drupal 8.3.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.3.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.3.x-dev » 8.4.x-dev

Drupal 8.3.6 was released on August 2, 2017 and is the final full bugfix release for the Drupal 8.3.x series. Drupal 8.3.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.4.0 on October 4, 2017. (Drupal 8.4.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.4.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.4.x-dev » 8.5.x-dev

Drupal 8.4.4 was released on January 3, 2018 and is the final full bugfix release for the Drupal 8.4.x series. Drupal 8.4.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.5.0 on March 7, 2018. (Drupal 8.5.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.5.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.6.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.5.x-dev » 8.6.x-dev

Drupal 8.5.6 was released on August 1, 2018 and is the final bugfix release for the Drupal 8.5.x series. Drupal 8.5.x will not receive any further development aside from security fixes. Sites should prepare to update to 8.6.0 on September 5, 2018. (Drupal 8.6.0-rc1 is available for testing.)

Bug reports should be targeted against the 8.6.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.6.x-dev » 8.8.x-dev

Drupal 8.6.x will not receive any further development aside from security fixes. Bug reports should be targeted against the 8.8.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.9.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.7 was released on June 3, 2020 and is the final full bugfix release for the Drupal 8.8.x series. Drupal 8.8.x will not receive any further development aside from security fixes. Sites should prepare to update to Drupal 8.9.0 or Drupal 9.0.0 for ongoing support.

Bug reports should be targeted against the 8.9.x-dev branch from now on, and new development or disruptive changes should be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.9.x-dev » 9.2.x-dev

Drupal 8 is end-of-life as of November 17, 2021. There will not be further changes made to Drupal 8. Bugfixes are now made to the 9.3.x and higher branches only. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.15 was released on June 1st, 2022 and is the final full bugfix release for the Drupal 9.3.x series. Drupal 9.3.x will not receive any further development aside from security fixes. Drupal 9 bug reports should be targeted for the 9.4.x-dev branch from now on, and new development or disruptive changes should be targeted for the 9.5.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

quietone’s picture

Status: Needs work » Closed (works as designed)

This looks like a fun little challenge.

It has been 8 years with no activity, I guess that has served it's purpose.