qa: always report unprocessed activities when functional tests fail
Example for erp5_web_renderjs_ui_test:testFunctionalRJSRelationField, which was failing randomly (fixed in ca229c3e): ====================================================================== FAIL: testFunctionalTestRunner (erp5.component.test.erp5_version.testFunctionalRJSRelationField.TestRenderJSUIRelationField) ---------------------------------------------------------------------- Traceback (most recent call last): File ".../product/ERP5Type/tests/ERP5TypeFunctionalTestCase.py", line 372, in testFunctionalTestRunner self.fail('\n'.join(error)) AssertionError: These messages are pending: [('/erp5_portal_faeed2c6ad773e8de11c3b643708ad55/portal_catalog', 'unindexObject', -1, 0), ('/erp5_portal_faeed2c6ad773e8de11c3b643708ad55/foo_module', 'immediateReindexObject', -1, 0), ('/erp5_portal_faeed2c6ad773e8de11c3b643708ad55/bar_module', 'immediateReindexObject', -1, 0), ('/erp5_portal_faeed2c6ad773e8de11c3b643708ad55/foo_bar_module', 'immediateReindexObject', -1, 0), ('/erp5_portal_faeed2c6ad773e8de11c3b643708ad55/portal_preferences/erp5_ui_test_preference', 'immediateReindexObject', -1, 0), ('/erp5_portal_faeed2c6ad773e8de11c3b643708ad55/foo_module/2', 'immediateReindexObject', -1, 0), ('/erp5_portal_faeed2c6ad773e8de11c3b643708ad55/foo_module/2', 'immediateReindexObject', -1, 0), ('/erp5_portal_faeed2c6ad773e8de11c3b643708ad55/foo_module/3', 'immediateReindexObject', -1, 0), ('/erp5_portal_faeed2c6ad773e8de11c3b643708ad55/foo_module', 'immediateReindexObject', -2, 1), ('/erp5_portal_faeed2c6ad773e8de11c3b643708ad55/bar_module', 'immediateReindexObject', -2, 1), ('/erp5_portal_faeed2c6ad773e8de11c3b643708ad55/foo_bar_module', 'immediateReindexObject', -2, 1), ('/erp5_portal_faeed2c6ad773e8de11c3b643708ad55/portal_preferences/erp5_ui_test_preference', 'immediateReindexObject', -2, 1)] Last error message: RuntimeError tic is looping forever. Traceback (innermost last): Module ZPublisher.Publish, line 138, in publish request, bind=1) Module ZPublisher.mapply, line 77, in mapply if debug is not None: return debug(object,args,context) Module ZPublisher.Publish, line 48, in call_object result=apply(object,args) # Type s<cr> to step into published object. Module Products.ERP5Type.patches.ExternalMethod, line 113, in __call__ return _f[0](self.aq_parent, *args, **kw) Module erp5.component.extension.erp5_version.ERP5Zuite, line 21, in waitForActivities raise RuntimeError('tic is looping forever.') RuntimeError: tic is looping forever. testAccessUnauthorizedRelationValue testBreadcrumbCanNotAccessRelationSearchPage testMultiRelationDefaultSortAndParameterList testMultiRelationFieldEmptySearchWithListbox testMultiRelationFieldHomonyms testMultiRelationFieldSearchWithListbox testMultiRelationFieldSearchWithProxyListbox testMultiRelationFieldUnknownIcon testMultiRelationFieldWithNonSavedPageContent testProxyListBox testRelationDefaultSortAndParameterList testRelationFieldEmptySearchWithListbox testRelationFieldRefresh testRelationFieldSearchWithListbox testRelationFieldWithNonSavedPageContent testSimpleMultiRelationField ---------------------------------------------------------------------- Ran 1 test in 199.267s
Showing
-
Owner
This seem to cause a failure in erp5_web_manifest_test:testManifest.
====================================================================== FAIL: testFunctionalTestRunner (erp5.component.test.erp5_version.testManifest.TestZeleniumCore) ---------------------------------------------------------------------- Traceback (most recent call last): File "/srv/slapgrid/slappart3/srv/testnode/aai/soft/b922eec80139f0d4db4d319369398ac1/parts/erp5/product/ERP5Type/tests/ERP5TypeFunctionalTestCase.py", line 372, in testFunctionalTestRunner self.fail('\n'.join(error)) AssertionError: These messages are pending: [('/erp5_portal_4911027a15cd29b5f23984e3f502b077/portal_preferences/erp5_ui_test_preference', 'immediateReindexObject', -1, 0)]
Is it no longer allowed for a selenium test to exit without processing all activities ? I guess this test create new documents and does not wait for activities at the end, but I have not really verified.
Maybe we want to use
self.tic()
instead ofself.assertNoPendingMessage()
here ?
Please register or sign in to comment