overly short limit on length of -m argument
mam-p opened this issue · 1 comments
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
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.