Re: on jenkins.plone.org collective.xmltestreport fails
Timo Stollenwerk <tisto-z4DKO/[email protected]>
| Newsgroups | gmane.comp.web.zope.plone.devel |
|---|---|
| Message-ID | <[email protected]> |
Am 18.06.14 11:18, schrieb Jens W. Klein: > Looks like test-setup is a never ending story. I'am a bit puzzled that > we count so much on testing and jenkins and all the setup is so fragile. Our test setup is fragile, because we have packages that have serious test isolation problems, use outdated test frameworks or are just written in a bad and fragile way. I'm working on improving the situation for quite some time, but it is just impossible to rewrite all bad tests. As long as nobody steps up to work on improving that situation, we have to live with it. The fragile test setup is the main reason (not the only one though) why it is absolutely essential that we stick with our CI rules: http://buildoutcoredev.readthedocs.org/en/latest/continous-integration.html If we don't it is incredibly hard or sometimes even impossible to figure out what went wrong. The collective.xmltestreport "failure" was not present before those commits broke the build yesterday: http://jenkins.plone.org/job/plone-5.0-python-2.7/2574/changes I'm pretty sure the xmltestreport failure is just covering another test failure. Though, since people broke the build and committed on the broken build, there is no way to tell anymore. And since there are so many commits now, reverting them one by one is also not an option any longer. If everybody would stick with the CI rules and just revert commits if they break, Jenkins could tell exactly which commit is responsible and our job would be a lot easier. If people ignore those rules we end up with a mess like this. Continuous Integration is a practice not a set of tools. A perfect CI setup with clean and good tests would certainly make things easier. Though, there is no way around following our Continuous Integration best practices, if we want a stable build. And as long as we don't have those perfect tests, it is even more important to follow those rules. Cheers, Timo > > http://jenkins.plone.org/job/plone-5.0-python-2.7/2593/console > > collective.xmltestreport fails. We may need tests for it ;) > > https://github.com/collective/collective.xmltestreport/tree/master/collective/xmltestreport > -> test free > > Traceback (most recent call last): > File "/home/jenkins/workspace/plone-5.0-python-2.7/bin/jenkins-test", > line 491, in <module> > '--test-path', > '/home/jenkins/.buildout/eggs/zope.globalrequest-1.0-py2.7.egg', > File > "/home/jenkins/.buildout/eggs/collective.xmltestreport-1.3.1-py2.7.egg/collective/xmltestreport/runner.py", > line 60, in run > failed = run_internal(defaults, args, script_parts=script_parts) > File > "/home/jenkins/.buildout/eggs/collective.xmltestreport-1.3.1-py2.7.egg/collective/xmltestreport/runner.py", > line 77, in run_internal > runner.options.output.writeXMLReports() > File > "/home/jenkins/.buildout/eggs/collective.xmltestreport-1.3.1-py2.7.egg/collective/xmltestreport/formatter.py", > line 284, in writeXMLReports > outputFile.write(prettyXML(testSuiteNode)) > File > "/home/jenkins/.buildout/eggs/collective.xmltestreport-1.3.1-py2.7.egg/collective/xmltestreport/utils.py", > line 42, in prettyXML > return ElementTree.tostring(tree) > File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1127, in > tostring > ElementTree(element).write(file, encoding, method=method) > File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 821, in write > serialize(write, self._root, encoding, qnames, namespaces) > File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 940, in > _serialize_xml > _serialize_xml(write, e, encoding, qnames, None) > File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 940, in > _serialize_xml > _serialize_xml(write, e, encoding, qnames, None) > File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 938, in > _serialize_xml > write(_escape_cdata(text, encoding)) > File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1074, in > _escape_cdata > return text.encode(encoding, "xmlcharrefreplace") > UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position > 12613: ordinal not in range(128) > > > > ------------------------------------------------------------------------------ > HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions > Find What Matters Most in Your Big Data with HPCC Systems > Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. > Leverages Graph Analysis for Fast Processing & Easy Data Exploration > http://p.sf.net/sfu/hpccsystems > _______________________________________________ > Plone-developers mailing list > Plone-developers-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org > https://lists.sourceforge.net/lists/listinfo/plone-developers > ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems