From: David G. <dgo...@gm...> - 2009-11-17 02:47:18
|
2009/11/16 Guenter Milde <mi...@us...>: > On 2009-11-16, David Goodger wrote: >> 2009/11/16 Guenter Milde <mi...@us...>: >>> how should we procede with this false positive in the test suite? > >> The problem is that the Docutils error reporting often depends on the >> text generated by Python exceptions. And that text changes between >> versions of Python. > > In this case the text (and even the exception) varies between different > builds of the same version, but the problem (and cure) are similar. > >> There is a mechanism for dealing with differences >> in exceptions between versions of Python: generate a similar >> exception, extract the text, and interpolate that text into the test. >> See the last test in >> test/test_parsers/test_rst/test_directives/test_unicode.py for an >> example. We simply do the same thing here. > > Thanks for the pointer. > >> It's a bit of a pain to handle these cases, but limited. We should >> handle such cases as required, in the same way they have been handled >> in the past. > > However, the offending case in test_include.py tests not the unicode > directive, but error reporting for problems in included files. > > * If we are going to replicate test cases for every possible reporter > call, this should be done re-using the original test cases. Otherwise a > lot of duplicate code needs to be maintained. I don't understand. Please explain. > * If we agree to test a representative subset, we can concentrate on less > fragile test cases. The ideal is to test every possible case. That's not feasible, but we should test as much as possible. > I'd prefer the second way. The attached patch does this. The attached patch replaces one type of test with another. I don't see why we should do that. Unless we remove functionality, I don't see why we should ever remove a test. Even a test that's breaking. *Especially* if it's breaking. It should be fixed instead. > Exec: svn 'diff' 2>&1 > Dir: /home/milde/Code/Python/docutils-svn/docutils/test/test_parsers/test_rst/test_directives/ > > Index: include10.txt > =================================================================== > --- include10.txt (Revision 6188) > +++ include10.txt (Arbeitskopie) > @@ -1,4 +1,4 @@ > -.. |bad| unicode:: 0xFFFFFFFFF > +.. include:: <nonexistent> We already test for nonexistent files. An identical test already exists in the test suite. This just adds indirect testing of the same thing. Go ahead and *add* such a test if you like. But don't remove the "bad unicode" test. The original test may be there for a very good reason -- testing an edge case, or a tricky case, or functionality that was new at the time. -1 on the patch. -- David Goodger <http://python.net/~goodger> |