Random thoughts and musings. Part of an oliology.

oliology.diary

Donnerstag, August 23, 2007

PHPUnit with eAccelerator in TYPO3
PHPUnit mit eAccelerator in TYPO3

I recently tested the PHPUnit extension for TYPO3 for one of my extension (using PHP 5.2.1). Unfortunately, PHPunit kept crashing with the following error message:

tx_phpunit_basetestsuite: tx_t3unit_testcase: Fatal error: Uncaught exception 'PHPUnit_Framework_AssertionFailedError' with message 'No tests found in class "tx_t3unit_testcase".' in /home/klee/public_html/typo4test/typo3conf/ext/phpunit/phpunit-3.0.5/Framework/Assert.php:959 Stack trace: #0 /home/klee/public_html/typo4test/typo3conf/ext/phpunit/phpunit-3.0.5/Framework/Warning.php(89): PHPUnit_Framework_Assert::fail('No tests found ...') #1 /home/klee/public_html/typo4test/typo3conf/ext/phpunit/phpunit-3.0.5/Framework/TestCase.php(243): PHPUnit_Framework_Warning->runTest() #2 /home/klee/public_html/typo4test/typo3conf/ext/phpunit/phpunit-3.0.5/Framework/TestResult.php(529): PHPUnit_Framework_TestCase->runBare() #3 /home/klee/public_html/typo4test/typo3conf/ext/phpunit/phpunit-3.0.5/Framework/TestCase.php(223): PHPUnit_Framework_TestResult->run(Object(PHPUnit_Framework_Warning)) #4 /home/klee/public_html/typo4test/typo3conf/ext/phpunit/phpunit-3.0.5/Framework/TestSuite.php(510): PHPUnit_Framework_TestCase->run(Object(PHPUnit_Framework_TestResult)) #5 /home/klee/public in /home/klee/public_html/typo4test/typo3conf/ext/phpunit/phpunit-3.0.5/Framework/Assert.php on line 959

Okay, so I created an empty testcase in the corresponding class in class.tx_phpunit_testcase.php. Now PHPUnit crashed on each failed assertion:

Fatal error: Uncaught exception 'PHPUnit_Framework_ExpectationFailedException' with message 'Failed asserting that is equal to .' in /home/klee/public_html/typo4test/typo3conf/ext/phpunit/phpunit-3.0.5/Framework/Constraint/IsEqual.php:116 Stack trace: #0 /home/klee/public_html/typo4test/typo3conf/ext/phpunit/phpunit-3.0.5/Framework/Assert.php(693): PHPUnit_Framework_Constraint_IsEqual->fail(0, '') #1 /home/klee/public_html/typo4test/typo3conf/ext/phpunit/phpunit-3.0.5/Framework/Assert.php(252): PHPUnit_Framework_Assert::assertThat(0, Object(PHPUnit_Framework_Constraint_IsEqual), '') #2 /home/klee/public_html/typo4test/typo3conf/ext/oelib/tests/tx_oelib_salutationswitcher_testcase.php(49): PHPUnit_Framework_Assert::assertEquals(1, 0) #3 [internal function]: tx_oelib_salutationswitcher_testcase->testOkay() #4 /home/klee/public_html/typo4test/typo3conf/ext/phpunit/phpunit-3.0.5/Framework/TestCase.php(300): ReflectionMethod->invoke(Object(tx_oelib_salutationswitcher_testcase)) #5 /home/klee/public_html/ in /home/klee/public_html/typo4test/typo3conf/ext/phpunit/phpunit-3.0.5/Framework/Constraint/IsEqual.php on line 116

Some googling revealed that PHPUnit and eAccelerator don't go together well. After disabling eAccelerator for PHPUnit in the file /etc/php5/apache2/conf.d/eaccelerator.ini, everything worked fine.Thi is the corresponding line:

eaccelerator.filter = "!*/phpunit/*"

Ich habe mal die PHPUnit-Extension für TYPO3 für eine meiner Extensions ausprobiert (unter PHP 5.2.1). Allerdings stürzte PHPUnit immer mit der folgenden Fehlermeldung ab:

tx_phpunit_basetestsuite: tx_t3unit_testcase: Fatal error: Uncaught exception 'PHPUnit_Framework_AssertionFailedError' with message 'No tests found in class "tx_t3unit_testcase".' in /home/klee/public_html/typo4test/typo3conf/ext/phpunit/phpunit-3.0.5/Framework/Assert.php:959 Stack trace: #0 /home/klee/public_html/typo4test/typo3conf/ext/phpunit/phpunit-3.0.5/Framework/Warning.php(89): PHPUnit_Framework_Assert::fail('No tests found ...') #1 /home/klee/public_html/typo4test/typo3conf/ext/phpunit/phpunit-3.0.5/Framework/TestCase.php(243): PHPUnit_Framework_Warning->runTest() #2 /home/klee/public_html/typo4test/typo3conf/ext/phpunit/phpunit-3.0.5/Framework/TestResult.php(529): PHPUnit_Framework_TestCase->runBare() #3 /home/klee/public_html/typo4test/typo3conf/ext/phpunit/phpunit-3.0.5/Framework/TestCase.php(223): PHPUnit_Framework_TestResult->run(Object(PHPUnit_Framework_Warning)) #4 /home/klee/public_html/typo4test/typo3conf/ext/phpunit/phpunit-3.0.5/Framework/TestSuite.php(510): PHPUnit_Framework_TestCase->run(Object(PHPUnit_Framework_TestResult)) #5 /home/klee/public in /home/klee/public_html/typo4test/typo3conf/ext/phpunit/phpunit-3.0.5/Framework/Assert.php on line 959

Okay, also einen leeren Testcase in die entsprechende Klasse in class.tx_phpunit_testcase.php hinzugefügt. Jetzt stürzte PHPUnit bei jeder fehlgeschlagegenen Assertion ab:

Fatal error: Uncaught exception 'PHPUnit_Framework_ExpectationFailedException' with message 'Failed asserting that is equal to .' in /home/klee/public_html/typo4test/typo3conf/ext/phpunit/phpunit-3.0.5/Framework/Constraint/IsEqual.php:116 Stack trace: #0 /home/klee/public_html/typo4test/typo3conf/ext/phpunit/phpunit-3.0.5/Framework/Assert.php(693): PHPUnit_Framework_Constraint_IsEqual->fail(0, '') #1 /home/klee/public_html/typo4test/typo3conf/ext/phpunit/phpunit-3.0.5/Framework/Assert.php(252): PHPUnit_Framework_Assert::assertThat(0, Object(PHPUnit_Framework_Constraint_IsEqual), '') #2 /home/klee/public_html/typo4test/typo3conf/ext/oelib/tests/tx_oelib_salutationswitcher_testcase.php(49): PHPUnit_Framework_Assert::assertEquals(1, 0) #3 [internal function]: tx_oelib_salutationswitcher_testcase->testOkay() #4 /home/klee/public_html/typo4test/typo3conf/ext/phpunit/phpunit-3.0.5/Framework/TestCase.php(300): ReflectionMethod->invoke(Object(tx_oelib_salutationswitcher_testcase)) #5 /home/klee/public_html/ in /home/klee/public_html/typo4test/typo3conf/ext/phpunit/phpunit-3.0.5/Framework/Constraint/IsEqual.php on line 116

Ein bisschen Googeln ergab, dass PHPUnit und der eAccelerator sich wohl nicht so ganz mögen. Nachdem ich ich der Datei /etc/php5/apache2/conf.d/eaccelerator.ini den eAccelerator für PHPUnit ausgeschaltet hatte, ging's. Das hier ist die entsprechende Zeile:

eaccelerator.filter = "!*/phpunit/*"

Oliver @ 11:32 | Permalink | 0 comments/Kommentare

Sonntag, August 12, 2007

(A German word)
Prost! Willst du ein S kaufen?

Heute im Zug von einem Kind gehört, das etwas vorlas:

Schnapsschüsse

Oliver @ 19:36 | Permalink | 0 comments/Kommentare

Sonntag, August 05, 2007

Relationship compatibility
Beziehungskompatibilität

Recently, I was at the cinema with a dear friend of mine. Of course, I (loving sitting to the left of people) wanted to have the cinema seat to her left. So we came to talk about what should be compatible in relationships so that they work well:

  • humor compatibility
  • breakfast compatibility: If person A needs input in the form of reading the newspaper, person B cannot need a lively chat during breakfast.
  • style of communication: If person a communicated feelings mostly using words, it doesn't work if person B takes sentences like Stop that, that hurts. only seriously when person A says them with a face twisted by pain.
  • A wide horizon needs a wide horizon.
  • bed sides sleep compatibility (concerning the pre-sleep side as well as the main-sleep side)
  • open-or-close-the-window-for-the-night compatibility
  • similar perception of noises: If person A finds noise really stressing, it doesn't work if person usually talks very loudly, rattles the dishes loudly and so without perceiving that as loud.

A few other things I picked up from some books:

  • The general political orientation and the idea of man should match.
  • The conflict management skills should be on similar levels.
  • shared interests

Neulich war ich mit einer lieben Freundin im Kino. Ich (als alter Linkssitzer) wollte natürlich wieder den Kinosessel links von ihr. Dabei kamen wir darauf, welche Dinge in Beziehungen kompatibel sein sollten, damit es klappt:

  • Humorkompatibilität
  • Frühstückskommunikation: Wenn Person A beim Frühstück Input in Form der Zeitung wichtig ist, darf Person B nicht eine angeregte morgendliche Unterhaltung wichtig sein.
  • Kommunkationsstil: Wenn Person A Gefühle vor allem mit Worten ausdrückt, funktioniert es nicht, wenn Person B Sätze wie Lass das, das tut weh. nur ernst nimmt, wenn A sie mit schmerzverzerrtem Gesicht sagt.
  • Ein weiter Horizont braucht ebenfalls einen weiten Horizont.
  • Bettschlafseitenkompatibilität (bei der Vorschlafseite wie auch der Hauptschlafseite)
  • Fenster-nachts-auf-oder-zu-Kompatibilität
  • ähnliche Geräuschwahrnehmung: Wenn A Lärm total stressig findet, funktioniert es nicht, wenn B meist sehr laut redet, laut mit dem Geschirr klappert und so, ohne das als laut wahrzunehmen.

Ein paar andere Sachen sind nicht auf meinem Mist gewachsen, sondern stammen aus irgendwelchen Büchern:

  • Die grundsätzliche politische Ausrichtung und das Menschenbild sollten passen.
  • Die Konfliktlösungskompetenz sollte ungefähr gleich hoch sein.
  • gemeinsame Interessen

Oliver @ 11:07 | Permalink | 0 comments/Kommentare

Learned
Gelernt

  1. Drinking a whole French press alone at Starbucks is a bit too much coffee for one person after all.
  2. When dying one's clothes with the Heitmann true-color dyes, you can add other clothes to the following washing step (which is necessary to make the dying permanent, as it says in the manual) without them taking up the dye. (At least that worked with orange and an old piece of cloth.)

  1. Bei Starbucks eine ganze Frenchpress alleine zu trinken ist doch ein bisschen viel Kaffee auf einmal.
  2. Wenn man seine Klammotten mit den Echtfarben von Heitmann färbt, kann man beim folgenden Waschgang (der laut Anleitung dazu dient, die Färbung dauerhaft zu machen) auch andere Kleidungsstücke mitwaschen, ohne dass diese etwas von der Farbe abbekommen. (Zumindest mit Orange und einem alten Stück Stoff war das so.)

Oliver @ 10:58 | Permalink | 0 comments/Kommentare

Good people

Good Software

Archive