conda-store: [BUG] - Tests fail if you pass arguments to pytest
Describe the bug
If you run the tests with pytest and try to pass arguments to pytest, like -v, you get a bunch of failures like
---------------------------------------------------------------------------------------------------- Captured stderr call ----------------------------------------------------------------------------------------------------
usage: pytest [-h] [--standalone] [--config CondaStoreWorker.config_file]
[extra_args ...]
pytest: error: argument -v: expected one argument
Restoring 1 unacknowledged message(s)
----------------------------------------------------------------------------------------------------- Captured log call ------------------------------------------------------------------------------------------------------
CRITICAL celery.worker:worker.py:206 Unrecoverable error: TypeError('cannot unpack non-iterable ExceptionInfo object')
Traceback (most recent call last):
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/argparse.py", line 1853, in parse_known_args
namespace, args = self._parse_known_args(args, namespace)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/argparse.py", line 2062, in _parse_known_args
start_index = consume_optional(start_index)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/argparse.py", line 1992, in consume_optional
arg_count = match_argument(action, selected_patterns)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/argparse.py", line 2157, in _match_argument
raise ArgumentError(action, msg)
argparse.ArgumentError: argument -v: expected one argument
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/celery/concurrency/base.py", line 30, in apply_target
ret = target(*args, **kwargs)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/celery/app/trace.py", line 654, in trace_task_ret
R, I, T, Rstr = trace_task(app.tasks[name],
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/celery/app/trace.py", line 610, in trace_task
return task.__trace__(uuid, args, kwargs, request)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/celery/app/trace.py", line 477, in trace_task
R = retval = fun(*args, **kwargs)
File "/home/aaronmeurer/Documents/conda-store/conda-store-server/conda_store_server/worker/tasks.py", line 174, in task_solve_conda_environment
conda_store = self.worker.conda_store
File "/home/aaronmeurer/Documents/conda-store/conda-store-server/conda_store_server/worker/tasks.py", line 45, in worker
self._worker.initialize()
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/traitlets/config/application.py", line 113, in inner
return method(app, *args, **kwargs)
File "/home/aaronmeurer/Documents/conda-store/conda-store-server/conda_store_server/worker/app.py", line 63, in initialize
super().initialize(*args, **kwargs)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/traitlets/config/application.py", line 113, in inner
return method(app, *args, **kwargs)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/traitlets/config/application.py", line 465, in initialize
self.parse_command_line(argv)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/traitlets/config/application.py", line 113, in inner
return method(app, *args, **kwargs)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/traitlets/config/application.py", line 880, in parse_command_line
self.cli_config = deepcopy(loader.load_config())
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/traitlets/config/loader.py", line 884, in load_config
self._parse_args(argv)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/traitlets/config/loader.py", line 945, in _parse_args
self.parsed_data = self.parser.parse_args(to_parse)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/argparse.py", line 1820, in parse_args
args, argv = self.parse_known_args(args, namespace)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/traitlets/config/loader.py", line 784, in parse_known_args
return super().parse_known_args(args, namespace)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/argparse.py", line 1856, in parse_known_args
self.error(str(err))
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/argparse.py", line 2577, in error
self.exit(2, _('%(prog)s: error: %(message)s\n') % args)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/argparse.py", line 2564, in exit
_sys.exit(status)
SystemExit: 2
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/celery/concurrency/base.py", line 39, in apply_target
reraise(WorkerLostError, WorkerLostError(repr(exc)),
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/celery/exceptions.py", line 109, in reraise
raise value.with_traceback(tb)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/celery/concurrency/base.py", line 30, in apply_target
ret = target(*args, **kwargs)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/celery/app/trace.py", line 654, in trace_task_ret
R, I, T, Rstr = trace_task(app.tasks[name],
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/celery/app/trace.py", line 610, in trace_task
return task.__trace__(uuid, args, kwargs, request)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/celery/app/trace.py", line 477, in trace_task
R = retval = fun(*args, **kwargs)
File "/home/aaronmeurer/Documents/conda-store/conda-store-server/conda_store_server/worker/tasks.py", line 174, in task_solve_conda_environment
conda_store = self.worker.conda_store
File "/home/aaronmeurer/Documents/conda-store/conda-store-server/conda_store_server/worker/tasks.py", line 45, in worker
self._worker.initialize()
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/traitlets/config/application.py", line 113, in inner
return method(app, *args, **kwargs)
File "/home/aaronmeurer/Documents/conda-store/conda-store-server/conda_store_server/worker/app.py", line 63, in initialize
super().initialize(*args, **kwargs)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/traitlets/config/application.py", line 113, in inner
return method(app, *args, **kwargs)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/traitlets/config/application.py", line 465, in initialize
self.parse_command_line(argv)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/traitlets/config/application.py", line 113, in inner
return method(app, *args, **kwargs)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/traitlets/config/application.py", line 880, in parse_command_line
self.cli_config = deepcopy(loader.load_config())
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/traitlets/config/loader.py", line 884, in load_config
self._parse_args(argv)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/traitlets/config/loader.py", line 945, in _parse_args
self.parsed_data = self.parser.parse_args(to_parse)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/argparse.py", line 1820, in parse_args
args, argv = self.parse_known_args(args, namespace)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/traitlets/config/loader.py", line 784, in parse_known_args
return super().parse_known_args(args, namespace)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/argparse.py", line 1856, in parse_known_args
self.error(str(err))
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/argparse.py", line 2577, in error
self.exit(2, _('%(prog)s: error: %(message)s\n') % args)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/argparse.py", line 2564, in exit
_sys.exit(status)
billiard.exceptions.WorkerLostError: SystemExit(2)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/celery/worker/worker.py", line 202, in start
self.blueprint.start(self)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/celery/bootsteps.py", line 116, in start
step.start(parent)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/celery/bootsteps.py", line 365, in start
return self.obj.start()
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/celery/worker/consumer/consumer.py", line 336, in start
blueprint.start(self)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/celery/bootsteps.py", line 116, in start
step.start(parent)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/celery/worker/consumer/consumer.py", line 726, in start
c.loop(*c.loop_args())
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/celery/worker/loops.py", line 130, in synloop
connection.drain_events(timeout=2.0)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/kombu/connection.py", line 341, in drain_events
return self.transport.drain_events(self.connection, **kwargs)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/kombu/transport/virtual/base.py", line 997, in drain_events
get(self._deliver, timeout=timeout)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/kombu/utils/scheduling.py", line 55, in get
return self.fun(resource, callback, **kwargs)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/kombu/transport/virtual/base.py", line 1035, in _drain_channel
return channel.drain_events(callback=callback, timeout=timeout)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/kombu/transport/virtual/base.py", line 754, in drain_events
return self._poll(self.cycle, callback, timeout=timeout)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/kombu/transport/virtual/base.py", line 414, in _poll
return cycle.get(callback)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/kombu/utils/scheduling.py", line 55, in get
return self.fun(resource, callback, **kwargs)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/kombu/transport/virtual/base.py", line 418, in _get_and_deliver
callback(message, queue)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/kombu/transport/virtual/base.py", line 1017, in _deliver
callback(message)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/kombu/transport/virtual/base.py", line 639, in _callback
return callback(message)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/kombu/messaging.py", line 656, in _receive_callback
return on_m(message) if on_m else self.receive(decoded, message)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/celery/worker/consumer/consumer.py", line 668, in on_task_received
strategy(
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/celery/worker/strategy.py", line 207, in task_message_handler
handle(req)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/celery/worker/worker.py", line 225, in _process_task
req.execute_using_pool(self.pool)
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/celery/worker/request.py", line 754, in execute_using_pool
result = apply_async(
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/celery/concurrency/base.py", line 153, in apply_async
return self.on_apply(target, args, kwargs,
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/celery/concurrency/base.py", line 42, in apply_target
callback(ExceptionInfo())
File "/home/aaronmeurer/anaconda3/envs/conda-store-server-dev/lib/python3.10/site-packages/celery/worker/request.py", line 772, in on_success
failed, retval, runtime = failed__retval__runtime
TypeError: cannot unpack non-iterable ExceptionInfo object
It seems that something is parsing the pytest arguments as command line arguments to the conda-store-server command.
Expected behavior
The tests should pass
How to Reproduce the problem?
Run pytest -v tests
Output
No response
Versions and dependencies used.
No response
Anything else?
No response
About this issue
- Original URL
- State: closed
- Created 10 months ago
- Reactions: 2
- Comments: 16 (16 by maintainers)
Yeah that works. @steff456 weird that this happens with the
-xat the end. Anyways thanks for finding that!I think this is fine to close
I’m also not reproducing it now. I’m on a different machine, so I’ll need to go check the machine I was using when I opened this issue. It’s possible it has already been fixed.