Пример #1
0
 protected function checkRequirements()
 {
     parent::checkRequirements();
     // Core tests no longer check against open Trac tickets, but others using WP_UnitTestCase may do so.
     if (defined('WP_RUN_CORE_TESTS') && WP_RUN_CORE_TESTS) {
         return;
     }
     if (WP_TESTS_FORCE_KNOWN_BUGS) {
         return;
     }
     $tickets = PHPUnit_Util_Test::getTickets(get_class($this), $this->getName(false));
     foreach ($tickets as $ticket) {
         if (is_numeric($ticket)) {
             $this->knownWPBug($ticket);
         } elseif ('UT' == substr($ticket, 0, 2)) {
             $ticket = substr($ticket, 2);
             if ($ticket && is_numeric($ticket)) {
                 $this->knownUTBug($ticket);
             }
         } elseif ('Plugin' == substr($ticket, 0, 6)) {
             $ticket = substr($ticket, 6);
             if ($ticket && is_numeric($ticket)) {
                 $this->knownPluginBug($ticket);
             }
         }
     }
 }
Пример #2
0
 /**
  * A test ended.
  *
  * @param  PHPUnit_Framework_Test $test
  * @param  float                  $time
  */
 public function endTest(PHPUnit_Framework_Test $test, $time)
 {
     if (!$test instanceof PHPUnit_Framework_Warning) {
         if ($test->getStatus() == PHPUnit_Runner_BaseTestRunner::STATUS_PASSED) {
             $ifStatus = array('assigned', 'new', 'reopened');
             $newStatus = 'closed';
             $message = 'Automatically closed by PHPUnit (test passed).';
             $resolution = 'fixed';
             $cumulative = TRUE;
         } else {
             if ($test->getStatus() == PHPUnit_Runner_BaseTestRunner::STATUS_FAILURE) {
                 $ifStatus = array('closed');
                 $newStatus = 'reopened';
                 $message = 'Automatically reopened by PHPUnit (test failed).';
                 $resolution = '';
                 $cumulative = FALSE;
             } else {
                 return;
             }
         }
         $name = $test->getName();
         $tickets = PHPUnit_Util_Test::getTickets(get_class($test), $name);
         foreach ($tickets as $ticket) {
             // Remove this test from the totals (if it passed).
             if ($test->getStatus() == PHPUnit_Runner_BaseTestRunner::STATUS_PASSED) {
                 unset($this->ticketCounts[$ticket][$name]);
             }
             // Only close tickets if ALL referenced cases pass
             // but reopen tickets if a single test fails.
             if ($cumulative) {
                 // Determine number of to-pass tests:
                 if (count($this->ticketCounts[$ticket]) > 0) {
                     // There exist remaining test cases with this reference.
                     $adjustTicket = FALSE;
                 } else {
                     // No remaining tickets, go ahead and adjust.
                     $adjustTicket = TRUE;
                 }
             } else {
                 $adjustTicket = TRUE;
             }
             if ($adjustTicket && in_array($ticketInfo[3]['status'], $ifStatus)) {
                 $this->updateTicket($ticket, $newStatus, $message, $resolution);
             }
         }
     }
 }
Пример #3
0
 protected function checkRequirements()
 {
     parent::checkRequirements();
     if (WP_TESTS_FORCE_KNOWN_BUGS) {
         return;
     }
     $tickets = PHPUnit_Util_Test::getTickets(get_class($this), $this->getName(false));
     foreach ($tickets as $ticket) {
         if (is_numeric($ticket)) {
             $this->knownWPBug($ticket);
         } elseif ('UT' == substr($ticket, 0, 2)) {
             $ticket = substr($ticket, 2);
             if ($ticket && is_numeric($ticket)) {
                 $this->knownUTBug($ticket);
             }
         } elseif ('Plugin' == substr($ticket, 0, 6)) {
             $ticket = substr($ticket, 6);
             if ($ticket && is_numeric($ticket)) {
                 $this->knownPluginBug($ticket);
             }
         }
     }
 }