Re: Merge proposal: tseaver-better_unittests branch of zope.interface
Tres Seaver <[email protected]>
| Newsgroups | gmane.comp.web.zope.devel |
|---|---|
| Message-ID | <[email protected]> |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 03/27/2012 06:21 PM, Marius Gedminas wrote: >> $ bin/python setup.py dev > > Is that different from 'python setup.py develop'? I've never seen 'dev' > before. 'dev' is an alias (defined in 'setup.cfg' for the following:: setup.py develop easy_install zope.interface[testing] >> running develop >> ... >> Finished processing dependencies for zope.interface[testing] >> $ bin/nosetests --with-coverage >> ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... >> Name Stmts Miss Cover Missing >> ---------------------------------------------------------------- >> zope.interface 30 0 100% >> zope.interface.adapter 440 0 100% >> zope.interface.advice 69 0 100% >> zope.interface.common 0 0 100% >> zope.interface.common.idatetime 98 0 100% >> zope.interface.common.interfaces 81 0 100% >> zope.interface.common.mapping 32 0 100% >> zope.interface.common.sequence 38 0 100% >> zope.interface.declarations 312 0 100% >> zope.interface.document 54 0 100% >> zope.interface.exceptions 21 0 100% >> zope.interface.interface 378 0 100% >> zope.interface.interfaces 137 0 100% >> zope.interface.registry 300 0 100% >> zope.interface.ro 25 0 100% >> zope.interface.verify 48 0 100% >> ---------------------------------------------------------------- >> TOTAL 2063 0 100% >> ---------------------------------------------------------------------- >> Ran 707 tests in 2.880s > > Ooh, and I also see a tox.ini on that branch! That's extremely welcome! > > (Lately when I had to make some changes to zope.* packages I've been > kind of annoyed about the non-straightforwardness of testing all > supported Python versions. I briefly tried tox, but didn't want to > spend hours figuring out how to make it play nice with buildout.) I still use buildout for complicated "application" installs, but have grown to dislike it for testing "library" code. > Question: does the 100% coverage number mean both C code *and* Python > fallbacks are tested now? They both pass the same suite of tests. I can't guarantee 100% covereage of the C code, but given that it passes the same tests, I'm satisfied. > Question: does 'bin/python setup.py test' work? Yes. I consider that a necessary-but-not-sufficient minium for any library. > It seems to be becoming a sort of a universal standard for "run all the > tests of this Python package please", and is usually not that difficult > to hook up. (If not, I may volunteer to hook it up.) > > Question: can we still use zope.testrunner? You can bootstrap and run the buildout and then run 'bin/test'. > I like some of zope.testrunner's features a lot (like colorization, test > filtering options explicitly by module and by test name). (I may also > volunteer to hook this up, if it's not hooked up.) > >> >> OK >> $ bin/python setup.py docs >> running easy_install >> Searching for zope.interface[docs] >> ... >> Finished processing dependencies for zope.interface[docs] >> $ cd docs >> $ PATH=../bin:$PATH make html >> ... >> build succeeded. >> >> Build finished. The HTML pages are in _build/html. >> ------------------------------ %< --------------------------------------- > > Ooh, are we going to see zope.interface docs on readthedocs.org? I'm not opposed in principle. :) >> In addition to minimizing "Zope-iness", providing full coverage using >> small, descriptively-named unittests makes the code more maintainable. >> For instance, I expect to build on top of these improved tests as the basis >> for a conversion to a "subset", supporting Python 2.6, 2.7, and 3.x from >> a single codebase, without needing a translator like lib2to3. > > Ooh, nice! > >> I think it will also be easier to improve the docs, now that they no >> longer bear the burden of supplying coverage / regression testing for >> the code. We can remove a bunch of extremely-terse fragments, and have >> the examples which remain focus more on improving the reader's >> understanding than exercising some corner case. >> >> Unless the consensus is against it, I plan to merge this branch to the >> trunk early next week. > > I'm +1 for this. Thanks for the support! Tres. - -- =================================================================== Tres Seaver +1 540-429-0999 [email protected] Palladion Software "Excellence by Design" http://palladion.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk9yQEIACgkQ+gerLs4ltQ7bzQCgne6Zv0hJHwjA7HyeKum1ZysY zcQAn31knVQ19/va/mjXl97oSWj9ELRN =J/dt -----END PGP SIGNATURE----- _______________________________________________ Zope-Dev maillist - [email protected] https://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope )