Nette Tests – poznámky a otáky (aneb Vrták v říši divů)

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Patrik Votoček
Člen | 2221
+
0
-

Pustil jsem se do implementace některých věcí, které už má nějaký čas na TODO listu. (věcí které chci poslat jako PULL).

A tak jsem zabrousil do Nette Tests a snažím se ho pochopit takže sem budu odkládat své myšlenky a otázky.

Otázky

  • proč se spouští pomocí php-cgi a ne cli?

Zjištění

První spuštění na linuxu:

vrtak-cz@VRTAK-PC ~/Workspace/Nette/nette/tests $ ./run-tests.sh -p /usr/bin/php-cgi -c /etc/php5/cgi/php.ini

Nette Test Framework (v0.4)
---------------------------
................F.............F......F....F..............................F.......F..F.F...............................................................Fs...s..s...............................FF......F..............Fs...F.................................................................ss.......s.s....s.........F...........F......F...........FF........................

Failures:

1) Nette\Latte\DefaultMacros::formatMacroArgs()
   Failed asserting that 'Iñtërnâtiônàlizætiøn => Iñtërnâtiônàlizætiøn' is identical to expected '\'Iñtërnâtiônàlizætiøn\' => \'Iñtërnâtiônàlizætiøn\'' on line 61
   /home/vrtak-cz/Workspace/Nette/nette/tests/Nette/Latte/Macros.formatMacroArgs().phpt

2) Nette\Latte\Engine and macros test.
   Failed asserting that '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtm ... ' matches expected '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtm ... ' on line 45
   /home/vrtak-cz/Workspace/Nette/nette/tests/Nette/Latte/test.001.phpt

3) Nette\Latte\Engine and Nette\Utils\Html::$xhtml.
   Failed asserting that '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtm ... ' matches expected '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtm ... ' on line 45
   /home/vrtak-cz/Workspace/Nette/nette/tests/Nette/Latte/test.018.phpt

4) Nette\Latte\Engine and macros test.
   qwerty' on line 69
   /home/vrtak-cz/Workspace/Nette/nette/tests/Nette/Latte/test.013.phpt

5) Nette\Mail\Message - textual and HTML body with embedded image and attachment.
   To: Lady Jane ... ' on line 36
   /home/vrtak-cz/Workspace/Nette/nette/tests/Nette/Mail/Mail.007.phpt

6) Nette\Mail\Message - textual body with attachment.
   To: Lady Jane ... ' on line 60
   /home/vrtak-cz/Workspace/Nette/nette/tests/Nette/Mail/Mail.002.phpt

7) Nette\Mail\Message - attachments.
   Content-Type: mult ... ' on line 49
   /home/vrtak-cz/Workspace/Nette/nette/tests/Nette/Mail/Mail.attachment.001.phpt

8) Nette\Mail\Message - textual and HTML body with attachment.
   To: Lady Jane ... ' on line 35
   /home/vrtak-cz/Workspace/Nette/nette/tests/Nette/Mail/Mail.005.phpt

9) Nette\Image flip.
   Failed asserting that 'GIF87ad' . "\0" . ';' . "\0" . '�' . "\0" . '' . "\0" . '@��Y����L\\p���
                                                                                                      s�<y4W���L��������$:X���`��b�Lv�tL����g�lv����
                                                                                                                                                         ��-[,`�l��X� ... ' is identical to expected 'GIF87ad' . "\0" . ';' . "\0" . '�' . "\0" . '' . "\0" . '@��Y����L\\p���
                                                                    s�<y4W���L��������$:X���`��b�Lv�tL����g�lv����
                                                                                                                       ��-[,`�l��X� ... ' on line 21
   /home/vrtak-cz/Workspace/Nette/nette/tests/Nette/common/Image.flip.phpt

10) Nette\Utils\Finder mask tests.
   Failed asserting that array(4) is identical to expected array(4) on line 35
   /home/vrtak-cz/Workspace/Nette/nette/tests/Nette/Utils/Finder.mask.phpt

11) Nette\Utils\Finder basic usage.
   Failed asserting that array(3) is identical to expected array(3) on line 39
   /home/vrtak-cz/Workspace/Nette/nette/tests/Nette/Utils/Finder.basic.phpt

12) Nette\Utils\Strings::checkEncoding()
   Failed asserting that TRUE is FALSE on line 22
   /home/vrtak-cz/Workspace/Nette/nette/tests/Nette/Utils/Strings.checkEncoding().phpt

13) Nette\Utils\Finder filters.
   Failed asserting that array(3) is identical to expected array(3) on line 41
   /home/vrtak-cz/Workspace/Nette/nette/tests/Nette/Utils/Finder.filters.phpt

14) Nette\Utils\Strings::fixEncoding()
   Failed asserting that 'žabcde' is identical to expected 'žabcde' on line 19
   /home/vrtak-cz/Workspace/Nette/nette/tests/Nette/Utils/Strings.fixEncoding().phpt

15) Nette\Diagnostics\Debugger E_ERROR in HTML.
   <!-- "\' --></script></ ... '
   /home/vrtak-cz/Workspace/Nette/nette/tests/Nette/Diagnostics/Debugger.E_ERROR.html.phpt

16) Nette\Diagnostics\Debugger eval error in HTML.

   /home/vrtak-cz/Workspace/Nette/nette/tests/Nette/Diagnostics/Debugger.error-in-eval.phpt

17) Nette\Diagnostics\Debugger notices and warnings with $strictMode in HTML.

   /home/vrtak-cz/Workspace/Nette/nette/tests/Nette/Diagnostics/Debugger.strict.html.phpt

18) Nette\Diagnostics\Debugger exception in HTML.

   /home/vrtak-cz/Workspace/Nette/nette/tests/Nette/Diagnostics/Debugger.exception.html.phpt

19) Nette\Diagnostics\Debugger::fireLog() and exception.
   Failed asserting that '{"logs":[{"name":"PHP","level":"debug","order":0,"time":"000008.0 ms","template":"Exception: The my  ... ' matches expected '{"logs":[{"name":"PHP","level":"debug","order":0,"time":"%a% ms","template":"Exception: The my excep ... ' on line 55
   /home/vrtak-cz/Workspace/Nette/nette/tests/Nette/Diagnostics/Debugger.fireLog().exception.phpt

FAILURES! (367 tests, 19 failures, 9 skipped)
kravčo
Člen | 721
+
0
-

Neviem. Tento príspevok mi pripadá ako spam (neber prosím osobne, ide o príspevok nie o autora). Prvá veta má rovnakú informačnú hodnotu ako „Dnes večer idem do kina na Popolušku a sedem trpaslíkov“. (vlastne nie, tá moja má o niečo vyššiu, pretože ukazuje, že si mýlim Popolušku so Snehulienkou)… Myslím, že je správne písať o tom, čo sme už urobili, nie čo sa len chystáme. Častokrát potom dokážeme veci aj lepšie naformulovať, pretože poznáme problém podrobnejšie…

Nasleduje otázka (ktorá jediná je v podstate ok). Odpoveďou je zrejme fakt, že cgi pracuje aj s hlavičkami a vypisuje ich na výstup, zatiaľ čo cli nie, a niektoré testy hlavičky kontrolujú.

Nasleduje zbytočný a dlhý výpis.

Už dlhšie sa zamýšľam nad otázkou, prečo ľudia používajú fórum rovnako ako svoju obľúbenú sociálnu sieť. Podľa mňa je fórum predovšetkým na to, aby som

  1. prezentoval svoje zistenia a zisťoval názory na ne (best practices, addons, …)
  2. hľadal riešenie problému (po vlastnom hľadaní v rozumnej miere)
  3. navrhoval zmeny vo frameworku (s odôvodnením)
  4. prispieval do vláken ostatných argumentami
  5. prípadne flejmoval na obľúbené témy dnešných dní

Keby si veľmi podobný príspevok napísal po tom, ako zistíš prečo tie testy zlyhávajú a prípadne 1–2 z nich aj opravil, nemal by som čo namietať.

Cítite ten rozdiel?

David Grudl
Nette Core | 8142
+
0
-

U mě všechny testy projdou, tak zkus zjistit, kde je problém. Mělo by to generovat výstup do adresáře output.

Patrik Votoček
Člen | 2221
+
0
-

kravčo napsal(a):

Keby si veľmi podobný príspevok napísal po tom, ako zistíš prečo tie testy zlyhávajú a prípadne 1–2 z nich aj opravil, nemal by som čo namietať.

O to se tady X hodin snažím (je fakt že jsem to mohl zatim střádat třeba v GISTu a postnout to až pak naráz)

David Grudl napsal(a):

U mě všechny testy projdou, tak zkus zjistit, kde je problém. Mělo by to generovat výstup do adresáře output.

Prozkoumám a dám vědět.

kravčo
Člen | 721
+
0
-

Patrik Votoček napsal(a):

O to se tady X hodin snažím (je fakt že jsem to mohl zatim střádat třeba v GISTu a postnout to až pak naráz)

O tom nepochybujem (fakt). A hlavne to som sa ti (a iným) snažil povedať… aj keď som to poňal trochu zoširoka…

Patrik Votoček
Člen | 2221
+
0
-

Tady je output http://dl.dropbox.com/…ests.tar.bz2 já jdu pokračovat ve zkoumání. Evidentně to má hodně často problémy s novejma řádkama. (zkoušel jsem to projet CRLF → LF ale no change)

Mail.002, Mail.005, Mail.007, Mail.attachment.001:

  • A: Content-Type: application/zip
  • E: Content-Type: application/octet-stream

Mail.attachment.001:

  • A: Content-Disposition: attachment; filename="luouk.zip"
  • E: Content-Disposition: attachment; filename="luouk"

patch: https://github.com/…161613fc6d9e
poznámka: luouk.zip by to mělo generovat i na Windows ne?

Finder.* linux má jiné řazení souborů ve filesystému:
patch: https://github.com/…54a064e2cec8