Element-34 / py.saunter

sample framework for using selenium with python and page objects
Apache License 2.0
94 stars 35 forks source link

overly short limit on length of -m argument #32

Closed mam-p closed 11 years ago

mam-p commented 12 years ago

There seems to be a fairly short limit on the length of the -m argument. My manager came up with a very short (13) list of tests he wanted me to run for a network upgrade this weekend. Eventually, I will add a 'heartbeat' mark to each of these tests to indicate that they're an even smaller set than 'smoke' tests and run them with "-m heartbeat". But in the meantime, I just constructed the query to run them. However, the query failed until I shortened it down by several tests. Below is the failing full query and a query that worked after shortening it from the right end....

NON-WORKING QUERY BELOW

adobe-MacBookPro:echosign mmaypump$ pysaunter.py -m 'archive_from_home_via_upload_ea981 or authoring_default_sig_and_initials_required_ea2754 or esign_ssn_upload_ea2132 or filter_by_waiting_for_me_to_sign_documents_ea793 or new_search_for_doc_name_ea625 or mega_sign_with_ssn_ea15 or regexp_groupon_es_ea3887 or register_trial_enterprise_account_ea2157 or register_free_account_ea583 or remind_right_now_one_recipient_ea809 or string_any_validation_ea1324 or upgrade_from_enterprise_trial_to_enterprise_ea606 or widget_with_email_verification_ea992' -v Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/2.7/bin/pysaunter.py", line 5, in pkg_resources.run_script('py.saunter==0.38', 'pysaunter.py') File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/pkg_resources.py", line 489, in run_script File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/pkg_resources.py", line 1207, in run_script File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/py.saunter-0.38-py2.7.egg/EGG-INFO/scripts/pysaunter.py", line 186, in run_status = pytest.main(args=arguments, plugins=[marks.MarksDecorator()]) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pytest-2.2.3-py2.7.egg/_pytest/core.py", line 467, in main config = _prepareconfig(args, plugins) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pytest-2.2.3-py2.7.egg/_pytest/core.py", line 460, in _prepareconfig pluginmanager=_pluginmanager, args=args) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pytest-2.2.3-py2.7.egg/_pytest/core.py", line 419, in call return self._docall(methods, kwargs) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pytest-2.2.3-py2.7.egg/_pytest/core.py", line 430, in _docall res = mc.execute() File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pytest-2.2.3-py2.7.egg/_pytest/core.py", line 348, in execute res = method(kwargs) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pytest-2.2.3-py2.7.egg/_pytest/helpconfig.py", line 25, in pytest_cmdline_parse config = multicall.execute() File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pytest-2.2.3-py2.7.egg/_pytest/core.py", line 348, in execute res = method(kwargs) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pytest-2.2.3-py2.7.egg/_pytest/config.py", line 10, in pytest_cmdline_parse config.parse(args) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pytest-2.2.3-py2.7.egg/_pytest/config.py", line 343, in parse self._preparse(args) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pytest-2.2.3-py2.7.egg/_pytest/config.py", line 314, in _preparse self._initini(args) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pytest-2.2.3-py2.7.egg/_pytest/config.py", line 309, in _initini self.inicfg = getcfg(args, ["pytest.ini", "tox.ini", "setup.cfg"]) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pytest-2.2.3-py2.7.egg/_pytest/config.py", line 447, in getcfg if p.check(): File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/py-1.4.7-py2.7.egg/py/_path/common.py", line 182, in check return self.Checkers(self)._evaluate(kw) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/py-1.4.7-py2.7.egg/py/_path/common.py", line 65, in _evaluate if bool(value) ^ bool(meth()) ^ invert: File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/py-1.4.7-py2.7.egg/py/_path/local.py", line 111, in exists return self._stat() File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/py-1.4.7-py2.7.egg/py/_path/local.py", line 99, in _stat self._statcache = self.path.stat() File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/py-1.4.7-py2.7.egg/py/_path/local.py", line 424, in stat return Stat(self, py.error.checked_call(os.stat, self.strpath)) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/py-1.4.7-py2.7.egg/py/_error.py", line 82, in checked_call raise cls("%s%r" % (func.name, args)) py.error.ENAMETOOLONG: [File name too long]: stat('/Users/mmaypump/Desktop/qa/PYSAUNTER/echosign/archive_from_home_via_upload_ea981 or authoring_default_sig_and_initials_required_ea2754 or esign_ssn_upload_ea2132 or filter_by_waiting_for_me_to_sign_documents_ea793 or new_search_for_doc_name_ea625 or mega_sign_with_ssn_ea15 or regexp_groupon_es_ea3887 or register_trial_enterprise_account_ea2157 or register_free_account_ea583 or remind_right_now_one_recipient_ea809 or string_any_validation_ea1324 or upgrade_from_enterprise_trial_to_enterprise_ea606 or widget_with_email_verification_ea992/pytest.ini',) adobe-MacBookPro:echosign mmaypump$

WORKING QUERY BELOW

adobe-MacBookPro:echosign mmaypump$ pysaunter.py -m 'archive_from_home_via_upload_ea981 or authoring_default_sig_and_initials_required_ea2754 or esign_ssn_upload_ea2132 or filter_by_waiting_for_me_to_sign_documents_ea793 or new_search_for_doc_name_ea625 or mega_sign_with_ssn_ea15 or regexp_groupon_es_ea3887' --collectonly

adamgoucher commented 11 years ago

This is a py.test problem, not a py.saunter one. I've logged a bug on it; https://bitbucket.org/hpk42/pytest/issue/224/a-really-large-argument-string-will-throw. I suspect the right solution is the one that you suggest, which is to use a common tag for this batch of scripts.