Bug 737986
Summary: | XMLRPC: traceback should have output with details or some more verbose output enabled by option | ||
---|---|---|---|
Product: | [Other] TCMS | Reporter: | Jan Ščotka <jscotka> |
Component: | Application | Assignee: | Chaobin Tang <ctang> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | tools-bugs <tools-bugs> |
Severity: | unspecified | Docs Contact: | |
Priority: | high | ||
Version: | Devel | CC: | ctang, junzhang, llim, nli, ryang, vchen, yawli |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2012-05-21 06:11:53 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 593666 |
Description
Jan Ščotka
2011-09-13 14:51:42 UTC
I've found problematic TestPlan: 4333. It is unable to show cases (propably one of cases is malformed or contains some bad char and this causes that cases are not shown: #!/usr/bin/python import re, sys, ast sys.path.append("/usr/share/qa-tools/") sys.path.append("/usr/bin/") import Nitrate tc=Nitrate.TestPlan(4333) print tc for testcase in tc: print "> " print testcase ======================= $ DEBUG=2 ./test.py [DEBUG] Caching on level 2 [DEBUG] Coloring enabled [INFO] Fetching test plan TP#4333 [INFO] Contacting server https://tcms.engineering.redhat.com/xmlrpc/ [DEBUG] Initializing test plan TP#4333 [DEBUG] {'attachment': [], 'author': 'jscotka', 'author_id': 2150, 'case': [13639, 13640, 13641, 46253, 13642, 65794, 13643, 13644, 13645, 65795, 13646, 46254, 13647, 13648, 13649, 13650, 13651, 46255, 13652, 46262, 11649, 46256, 46257, 46258, 56950, 56951, 81093, 68645, 111951, 111952, 111956, 111217, 13653, 13654, 98162, 13655, 13656, 13657, 13658, 13659, 13660, 13664, 13665, 13661, 13662, 13663, 46263, 65796, 13637, 13638, 51551, 46259, 65755, 65747, 65756, 94919, 46260, 46261, 115426, 45702, 69095, 69916, 11647, 57965, 56953, 57963, 57962, 57966, 14915, 14918, 11673, 11648, 11650, 11651, 11653, 11652, 11659, 11658, 11655, 11657, 11656, 11672, 11671, 11654], 'component': [], 'create_date': '2011-07-28 00:35:14', 'default_product_version': '2.3.1', 'env_group': [], 'extra_link': None, 'is_active': True, 'name': 'cups / General', 'owner': 'None', 'owner_id': None, 'parent': 'BaseOS / Components / Daemons', 'parent_id': 3784, 'plan_id': 4333, 'product': 'Dummy Product', 'product_id': 66, 'tag': [], 'type': 'General', 'type_id': 26} [DEBUG] Caching user UID#2150 TP#4333 - cups / General [INFO] Fetching TP#4333's cases Traceback (most recent call last): File "./test.py", line 9, in <module> for testcase in tc: File "/usr/share/qa-tools/Nitrate.py", line 1864, in __iter__ for testcase in self.testcases: File "/usr/share/qa-tools/Nitrate.py", line 1385, in __iter__ for item in self._items: File "/usr/share/qa-tools/Nitrate.py", line 1368, in _items self._get() File "/usr/share/qa-tools/Nitrate.py", line 2584, in _get self._server.TestPlan.get_test_cases(self.id)]) File "/usr/lib64/python2.6/xmlrpclib.py", line 1199, in __call__ return self.__send(self.__name, args) File "/usr/lib64/python2.6/xmlrpclib.py", line 1489, in __request verbose=self.__verbose File "/usr/share/qa-tools/nitrate.py", line 120, in request_with_cookies return self._parse_response(h.getfile(), sock) File "/usr/lib64/python2.6/xmlrpclib.py", line 1392, in _parse_response return u.close() File "/usr/lib64/python2.6/xmlrpclib.py", line 838, in close raise Fault(**self._stack[0]) xmlrpclib.Fault: <Fault 1: 'DoesNotExist: User matching query does not exist.'> Generally, exceptions encountered while interacting with server will result in a short line of exception information in local xmlrpclib, such as the one logged above, normally, it would be explanative enough to understand what's going on. Exceptionally, there are cases, such as the one above where retrieving a testcase will get an exception says 'User matching query does not exist', this is caused by a programming error, and it was fixed already. Exceptions are different from errors. For errors, we are able to provide more explanative information programably, while for exceptions(it would be difficult to anticipate a specific exception type among so many XMLRPC calls in which case the proper humanization is possible), there are only original traceback information that is automatically formatted by xmlrpc serialzier. the programming error is fixed. and the exception info is not belong to the programming. |