Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Isolated=True při testování CL argumentů #6

Closed
muckpetr opened this issue Oct 9, 2017 · 3 comments
Closed

Isolated=True při testování CL argumentů #6

muckpetr opened this issue Oct 9, 2017 · 3 comments
Labels

Comments

@muckpetr
Copy link

muckpetr commented Oct 9, 2017

Rád bych se zeptal, co přesně znamená parametr isolated u testů výpisu helpu a verze, konkrétně mám problém s exit codem.

  • v případě isolated = False mi všechny testy dopadnou správně
  • v případě isolated = True help příkazy volané na podpříkazech (např list_labels --help) vrací chybu chybějícího tokenu.

Token načítám v souhrnném příkazu CLI (stejně, jako např configurační soubor), bude tedy zřejmě problém v tom, že při hodnotě True proběhne ještě celý souhrnný příkaz, zatímco při False ne. Jednoduché testy z command line ale vždy vrací správně exit code 0.

Je tohle špatná cesta a měl by se skutečně načítat token až v každém podpříkazu nebo existuje i jiný způsob? Pokoušel jsem se experimentovat s click.help_option bez větších úspěchů.

@hroncok
Copy link
Collaborator

hroncok commented Oct 9, 2017

Rád bych se zeptal, co přesně znamená parametr isolated u testů výpisu helpu a verze, konkrétně mám problém s exit codem.

Parameter isolated přepíná, jestli se použije File System Isolation - jestli se testy pouští v prázdné složce.

v případě isolated = False mi všechny testy dopadnou správně

Máš ve složce, ze které testy pouštíš, konfigurační soubor config.cfg? Pokud ano, při spuštění testů aplikace tento soubor použije (dle zadání) a --help funguje.

v případě isolated = True help příkazy volané na podpříkazech (např list_labels --help) vrací chybu chybějícího tokenu.

Tady už se testované příkazy pouštějí z prázdné složky, ve které takový konfigurační soubor není. Bum, fail.

(Jen hádám, tvůj kód jsem neviděl, nemám přístupy do žádného tvého repozitáře.)

Token načítám v souhrnném příkazu CLI (stejně, jako např configurační soubor), bude tedy zřejmě problém v tom, že při hodnotě True proběhne ještě celý souhrnný příkaz, zatímco při False ne. Jednoduché testy z command line ale vždy vrací správně exit code 0.

Je tohle špatná cesta a měl by se skutečně načítat token až v každém podpříkazu nebo existuje i jiný způsob? Pokoušel jsem se experimentovat s click.help_option bez větších úspěchů.

Tohle už jsme řešili s @145k0v v soukromé issue. Lepší řešení, než mít funkci na kontrolu tokenu a tu funkci volat v podpříkazech (případně si na to udělat vlastní dekorátor), neznám (to ale neznamená, že neexistuje). Provádění kontroly (přítomnosti) tokenu v hlavní group funkci má za následek nefunkční --help podpříkazů.

@hroncok
Copy link
Collaborator

hroncok commented Oct 11, 2017

Než začnu rozbíjet click na prvočinitele, nebo zakládat issues, nevíš @encukou náhodou, jak zjistit z group commandu, že subcommand se zavolal s --help?

@encukou
Copy link

encukou commented Oct 11, 2017

Z hlavy ne :(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants