--- Begin Message ---
Source: python-molotov
Version: 2.1-2
Severity: serious
X-Debbugs-CC: debian...@lists.debian.org
Tags: sid bookworm
User: debian...@lists.debian.org
Usertags: needs-update
User: debian-pyt...@lists.debian.org
Usertags: python3.10
Control: affects -1 src:python3-defaults
Dear maintainer(s),
We are in the transition of adding python3.10 to the supported Python
versions [0]. With a recent upload of python3-defaults the autopkgtest
of python-molotov fails in testing when that autopkgtest is run with the
binary packages of python3-defaults from unstable. It passes when run
with only packages from testing. In tabular form:
pass fail
python3-defaults from testing 3.9.8-1
python-molotov from testing 2.1-2
all others from testing from testing
I copied some of the output at the bottom of this report.
Currently this regression is blocking the migration of python3-defaults
to testing [1]. https://docs.python.org/3/whatsnew/3.10.html lists
what's new in Python3.10, it may help to identify what needs to be updated.
More information about this bug and the reason for filing it can be found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation
Paul
[0] https://bugs.debian.org/996584
[1] https://qa.debian.org/excuses.php?package=python3-defaults
https://ci.debian.net/data/autopkgtest/testing/amd64/p/python-molotov/17396154/log.gz
=================================== FAILURES
===================================
_____________________________ TestFmwk.test_runner
_____________________________
self = <molotov.tests.test_fmwk.TestFmwk testMethod=test_runner>
@dedicatedloop
def test_runner(self):
with coserver():
return self._runner(console=False)
molotov/tests/test_fmwk.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/tests/test_fmwk.py:163:
in _runner
results = Runner(args)()
molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:119: in _launch_processes
self._process()
molotov/runner.py:199: in _process
display = self.gather(update, display)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde7de2b60>
futures = (<Task pending name='Task-8' coro=<Runner._display_results()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fz...t-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/sharedconsole.py:36>
created at /usr/lib/python3.10/asyncio/tasks.py:638>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
----------------------------- Captured stderr call
-----------------------------
127.0.0.1 - - [08/Dec/2021 15:20:12] "GET / HTTP/1.1" 200 -
_________________________ TestFmwk.test_runner_console
_________________________
self = <molotov.tests.test_fmwk.TestFmwk testMethod=test_runner_console>
@dedicatedloop
def test_runner_console(self):
with coserver():
return self._runner(console=True)
molotov/tests/test_fmwk.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/tests/test_fmwk.py:163:
in _runner
results = Runner(args)()
molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:119: in _launch_processes
self._process()
molotov/runner.py:199: in _process
display = self.gather(update, display)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde79e9480>
futures = (<Task pending name='Task-11' coro=<Runner._display_results()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.f...t-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/sharedconsole.py:36>
created at /usr/lib/python3.10/asyncio/tasks.py:638>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
----------------------------- Captured stderr call
-----------------------------
127.0.0.1 - - [08/Dec/2021 15:20:12] "GET / HTTP/1.1" 200 -
__________________ TestFmwk.test_runner_multiprocess_console
___________________
self = <molotov.tests.test_fmwk.TestFmwk
testMethod=test_runner_multiprocess_console>
def test_runner_multiprocess_console(self):
self._multiprocess(console=True)
molotov/tests/test_fmwk.py:206: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/tests/support.py:280: in
_loop
return func(*args, **kw)
molotov/tests/test_fmwk.py:201: in _multiprocess
results = Runner(args)()
molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:117: in _launch_processes
self.loop.run_until_complete(self.gather(*tasks))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde7a6b5e0>
futures = (<Task pending name='Task-13' coro=<SharedConsole.display()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI...launch_processes.<locals>.run()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/runner.py:101>>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
--------------------------- Captured stderr teardown
---------------------------
Process Process-3:
Process Process-4:
Traceback (most recent call last):
Traceback (most recent call last):
File "/usr/lib/python3.10/multiprocessing/process.py", line 315, in
_bootstrap
self.run()
File "/usr/lib/python3.10/multiprocessing/process.py", line 315, in
_bootstrap
self.run()
File "/usr/lib/python3.10/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/usr/lib/python3.10/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File
"/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/runner.py",
line 202, in _process
workers = self.gather(*self._runner())
File
"/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/runner.py",
line 202, in _process
workers = self.gather(*self._runner())
File
"/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/runner.py",
line 57, in gather
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
File
"/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/runner.py",
line 57, in gather
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
TypeError: gather() got an unexpected keyword argument 'loop'
TypeError: gather() got an unexpected keyword argument 'loop'
_________________ TestFmwk.test_runner_multiprocess_no_console
_________________
self = <molotov.tests.test_fmwk.TestFmwk
testMethod=test_runner_multiprocess_no_console>
def test_runner_multiprocess_no_console(self):
self._multiprocess(console=False, nosetup=True)
molotov/tests/test_fmwk.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/tests/support.py:280: in
_loop
return func(*args, **kw)
molotov/tests/test_fmwk.py:201: in _multiprocess
results = Runner(args)()
molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:117: in _launch_processes
self.loop.run_until_complete(self.gather(*tasks))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde7fc9c00>
futures = (<Task pending name='Task-16' coro=<SharedConsole.display()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI...launch_processes.<locals>.run()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/runner.py:101>>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
--------------------------- Captured stderr teardown
---------------------------
Process Process-6:
Traceback (most recent call last):
File "/usr/lib/python3.10/multiprocessing/process.py", line 315, in
_bootstrap
self.run()
File "/usr/lib/python3.10/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File
"/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/runner.py",
line 202, in _process
workers = self.gather(*self._runner())
File
"/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/runner.py",
line 57, in gather
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
TypeError: gather() got an unexpected keyword argument 'loop'
Process Process-5:
Traceback (most recent call last):
File "/usr/lib/python3.10/multiprocessing/process.py", line 315, in
_bootstrap
self.run()
File "/usr/lib/python3.10/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File
"/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/runner.py",
line 202, in _process
workers = self.gather(*self._runner())
File
"/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/runner.py",
line 57, in gather
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
TypeError: gather() got an unexpected keyword argument 'loop'
________________________ TestFmwk.test_setup_exception
_________________________
self = <molotov.tests.test_fmwk.TestFmwk testMethod=test_setup_exception>
@dedicatedloop
def test_setup_exception(self):
@setup()
async def _worker_setup(num, args):
raise Exception("bleh")
@scenario(weight=100)
async def test_two(session):
os.kill(os.getpid(), signal.SIGTERM)
args = self.get_args()
results = Runner(args)()
molotov/tests/test_fmwk.py:362: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:119: in _launch_processes
self._process()
molotov/runner.py:199: in _process
display = self.gather(update, display)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde7ae0b20>
futures = (<Task pending name='Task-21' coro=<Runner._display_results()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.f...t-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/sharedconsole.py:36>
created at /usr/lib/python3.10/asyncio/tasks.py:638>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
_________________________ TestFmwk.test_setup_not_dict
_________________________
self = <molotov.tests.test_fmwk.TestFmwk testMethod=test_setup_not_dict>
@dedicatedloop
def test_setup_not_dict(self):
@setup()
async def _worker_setup(num, args):
return 1
@scenario(weight=100)
async def test_two(session):
os.kill(os.getpid(), signal.SIGTERM)
args = self.get_args()
results = Runner(args)()
molotov/tests/test_fmwk.py:405: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:119: in _launch_processes
self._process()
molotov/runner.py:199: in _process
display = self.gather(update, display)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde79db400>
futures = (<Task pending name='Task-24' coro=<Runner._display_results()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.f...t-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/sharedconsole.py:36>
created at /usr/lib/python3.10/asyncio/tasks.py:638>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
____________________________ TestFmwk.test_shutdown
____________________________
self = <molotov.tests.test_fmwk.TestFmwk testMethod=test_shutdown>
@dedicatedloop
def test_shutdown(self):
res = []
@teardown()
def _worker_teardown(num):
res.append("BYE WORKER")
@global_teardown()
def _teardown():
res.append("BYE")
@scenario(weight=100)
async def test_two(session):
os.kill(os.getpid(), signal.SIGTERM)
args = self.get_args()
results = Runner(args)()
molotov/tests/test_fmwk.py:309: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:119: in _launch_processes
self._process()
molotov/runner.py:199: in _process
display = self.gather(update, display)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde7728b50>
futures = (<Task pending name='Task-31' coro=<Runner._display_results()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.f...t-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/sharedconsole.py:36>
created at /usr/lib/python3.10/asyncio/tasks.py:638>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
_______________________ TestFmwk.test_shutdown_exception
_______________________
self = <molotov.tests.test_fmwk.TestFmwk testMethod=test_shutdown_exception>
@dedicatedloop
def test_shutdown_exception(self):
@teardown()
def _worker_teardown(num):
raise Exception("bleh")
@global_teardown()
def _teardown():
raise Exception("bleh")
@scenario(weight=100)
async def test_two(session):
os.kill(os.getpid(), signal.SIGTERM)
args = self.get_args()
results = Runner(args)()
molotov/tests/test_fmwk.py:330: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:119: in _launch_processes
self._process()
molotov/runner.py:199: in _process
display = self.gather(update, display)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde7fb3940>
futures = (<Task pending name='Task-34' coro=<Runner._display_results()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.f...t-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/sharedconsole.py:36>
created at /usr/lib/python3.10/asyncio/tasks.py:638>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
_______________________ TestFmwk.test_teardown_exception
_______________________
self = <molotov.tests.test_fmwk.TestFmwk testMethod=test_teardown_exception>
@dedicatedloop
def test_teardown_exception(self):
@teardown()
def _teardown(args):
raise Exception("bleh")
@scenario(weight=100)
async def test_two(session):
os.kill(os.getpid(), signal.SIGTERM)
args = self.get_args()
results = Runner(args)()
molotov/tests/test_fmwk.py:391: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:119: in _launch_processes
self._process()
molotov/runner.py:199: in _process
display = self.gather(update, display)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde770f2e0>
futures = (<Task pending name='Task-39' coro=<Runner._display_results()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.f...t-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/sharedconsole.py:36>
created at /usr/lib/python3.10/asyncio/tasks.py:638>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
________________________ TestQuickStart.test_codeworks
_________________________
self = <molotov.tests.test_quickstart.TestQuickStart
testMethod=test_codeworks>
@dedicatedloop
def test_codeworks(self):
quickstart._input = self._input
with set_args("molostart"):
quickstart.main()
result = os.listdir(self.location)
result.sort()
self.assertEqual(result, ["Makefile", "loadtest.py",
"molotov.json"])
os.chdir(self.location)
with set_args("molotov", "-cxv", "--max-runs", "1"):
try:
run.main()
molotov/tests/test_quickstart.py:71: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/run.py:223: in main
return run(args)
molotov/run.py:301: in run
res = Runner(args)()
molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:119: in _launch_processes
self._process()
molotov/runner.py:199: in _process
display = self.gather(update, display)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde7a6b1f0>
futures = (<Task pending name='Task-44' coro=<Runner._display_results()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.f...=<SharedConsole.display() running
at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/sharedconsole.py:36>>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
___________________________ TestRunner.test_bug_121
____________________________
self = <molotov.tests.test_run.TestRunner testMethod=test_bug_121>
@dedicatedloop
def test_bug_121(self):
PASSED = [0]
with catch_sleep():
@scenario()
async def scenario_one(session):
cookies = {
"csrftoken": "sometoken",
"dtk": "1234",
"djdt": "hide",
"sessionid": "5678",
}
boundary = "----WebKitFormBoundaryFTE"
headers = {
"X-CSRFToken": "sometoken",
"Content-Type": "multipart/form-data;
boundary={}".format(boundary),
}
data = json.dumps({"1": "xxx"})
with aiohttp.MultipartWriter(
"form-data", boundary=boundary
) as mpwriter:
mpwriter.append(
data,
{
"Content-Disposition": 'form-data;
name="json"; filename="blob"',
"Content-Type": "application/json",
},
)
async with session.post(
"http://localhost:8888",
data=mpwriter,
headers=headers,
cookies=cookies,
) as resp:
res = await resp.text()
assert data in res
PASSED[0] += 1
args = self._get_args()
args.verbose = 2
args.max_runs = 1
with coserver():
res = run(args)
molotov/tests/test_run.py:845: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/run.py:301: in run
res = Runner(args)()
molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:119: in _launch_processes
self._process()
molotov/runner.py:199: in _process
display = self.gather(update, display)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde7de3b50>
futures = (<Task pending name='Task-48' coro=<Runner._display_results()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.f...t-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/sharedconsole.py:36>
created at /usr/lib/python3.10/asyncio/tasks.py:638>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
----------------------------- Captured stdout call
-----------------------------
**** Molotov v2.1. Happy breaking! ****
----------------------------- Captured stderr call
-----------------------------
127.0.0.1 - - [08/Dec/2021 15:20:14] "GET / HTTP/1.1" 200 -
____________________________ TestRunner.test_delay
_____________________________
self = <molotov.tests.test_run.TestRunner testMethod=test_delay>
@dedicatedloop
def test_delay(self):
with catch_sleep() as delay:
@scenario(weight=10, delay=0.1)
async def here_three(session):
_RES.append(3)
> stdout, stderr, rc = self._test_molotov(
"--delay",
".6",
"--console-update",
"0",
"-cx",
"--max-runs",
"2",
"-s",
"here_three",
"molotov.tests.test_run",
)
molotov/tests/test_run.py:346: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/tests/test_run.py:141: in
_test_molotov
main()
molotov/run.py:223: in main
return run(args)
molotov/run.py:301: in run
res = Runner(args)()
molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:119: in _launch_processes
self._process()
molotov/runner.py:199: in _process
display = self.gather(update, display)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde771ed10>
futures = (<Task pending name='Task-51' coro=<Runner._display_results()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.f...=<SharedConsole.display() running
at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/sharedconsole.py:36>>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
_________________________ TestRunner.test_disable_dns
__________________________
self = <molotov.tests.test_run.TestRunner testMethod=test_disable_dns>
m_resolve = <MagicMock name='resolve' id='139628981431856'>
@dedicatedloop
@patch("molotov.session.resolve")
def test_disable_dns(self, m_resolve):
with catch_sleep():
@scenario()
async def one(session):
async with session.get("http://localhost"):
pass
> stdout, stderr, rc = self._test_molotov(
"--disable-dns-resolve", "--single-run",
"molotov.tests.test_run",
)
molotov/tests/test_run.py:792: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/tests/test_run.py:141: in
_test_molotov
main()
molotov/run.py:223: in main
return run(args)
molotov/run.py:301: in run
res = Runner(args)()
molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:119: in _launch_processes
self._process()
molotov/runner.py:199: in _process
display = self.gather(update, display)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde7964d90>
futures = (<Task pending name='Task-54' coro=<Runner._display_results()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.f...=<SharedConsole.display() running
at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/sharedconsole.py:36>>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
__________________________ TestRunner.test_enable_dns
__________________________
self = <molotov.tests.test_run.TestRunner testMethod=test_enable_dns>
m_resolve = <MagicMock name='resolve' id='139628956087008'>
@dedicatedloop
@patch("molotov.session.resolve")
def test_enable_dns(self, m_resolve):
m_resolve.return_value = ("http://localhost",
"http://localhost", "localhost")
with catch_sleep():
@scenario()
async def one(session):
async with session.get("http://localhost"):
pass
> stdout, stderr, rc = self._test_molotov(
"--single-run", "molotov.tests.test_run",
)
molotov/tests/test_run.py:775: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/tests/test_run.py:141: in
_test_molotov
main()
molotov/run.py:223: in main
return run(args)
molotov/run.py:301: in run
res = Runner(args)()
molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:119: in _launch_processes
self._process()
molotov/runner.py:199: in _process
display = self.gather(update, display)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde653fe80>
futures = (<Task pending name='Task-57' coro=<Runner._display_results()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.f...=<SharedConsole.display() running
at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/sharedconsole.py:36>>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
________________________ TestRunner.test_fail_mode_fail
________________________
self = <molotov.tests.test_run.TestRunner testMethod=test_fail_mode_fail>
@dedicatedloop
def test_fail_mode_fail(self):
@scenario(weight=10)
async def here_three(session):
assert False
> stdout, stderr, rc = self._test_molotov(
"-cx",
"--max-runs",
"2",
"--fail",
"1",
"-s",
"here_three",
"molotov.tests.test_run",
)
molotov/tests/test_run.py:246: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/tests/test_run.py:141: in
_test_molotov
main()
molotov/run.py:223: in main
return run(args)
molotov/run.py:301: in run
res = Runner(args)()
molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:119: in _launch_processes
self._process()
molotov/runner.py:199: in _process
display = self.gather(update, display)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde7979d50>
futures = (<Task pending name='Task-60' coro=<Runner._display_results()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.f...=<SharedConsole.display() running
at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/sharedconsole.py:36>>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
________________________ TestRunner.test_fail_mode_pass
________________________
self = <molotov.tests.test_run.TestRunner testMethod=test_fail_mode_pass>
@dedicatedloop
def test_fail_mode_pass(self):
@scenario(weight=10)
async def here_three(session):
_RES.append(3)
> stdout, stderr, rc = self._test_molotov(
"-cx",
"--max-runs",
"2",
"--fail",
"1",
"-s",
"here_three",
"molotov.tests.test_run",
)
molotov/tests/test_run.py:226: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/tests/test_run.py:141: in
_test_molotov
main()
molotov/run.py:223: in main
return run(args)
molotov/run.py:301: in run
res = Runner(args)()
molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:119: in _launch_processes
self._process()
molotov/runner.py:199: in _process
display = self.gather(update, display)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde652dff0>
futures = (<Task pending name='Task-63' coro=<Runner._display_results()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.f...=<SharedConsole.display() running
at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/sharedconsole.py:36>>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
_____________________________ TestRunner.test_main
_____________________________
self = <molotov.tests.test_run.TestRunner testMethod=test_main>
@dedicatedloop
def test_main(self):
with set_args("molotov", "-cq", "-d", "1",
"molotov/tests/example.py"):
main()
molotov/tests/test_run.py:133: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/run.py:223: in main
return run(args)
molotov/run.py:301: in run
res = Runner(args)()
molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:119: in _launch_processes
self._process()
molotov/runner.py:202: in _process
workers = self.gather(*self._runner())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde79e9540>
futures = (<Task pending name='Task-66' coro=<Worker.run() running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/worker.py:45>>,)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
_____________________________ TestRunner.test_name
_____________________________
self = <molotov.tests.test_run.TestRunner testMethod=test_name>
@dedicatedloop
def test_name(self):
@scenario(weight=10)
async def here_three(session):
_RES.append(3)
@scenario(weight=30, name="me")
async def here_four(session):
_RES.append(4)
> stdout, stderr, rc = self._test_molotov(
"-cx", "--max-runs", "2", "-s", "me", "molotov.tests.test_run"
)
molotov/tests/test_run.py:201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/tests/test_run.py:141: in
_test_molotov
main()
molotov/run.py:223: in main
return run(args)
molotov/run.py:301: in run
res = Runner(args)()
molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:119: in _launch_processes
self._process()
molotov/runner.py:199: in _process
display = self.gather(update, display)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde6527dc0>
futures = (<Task pending name='Task-68' coro=<Runner._display_results()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.f...=<SharedConsole.display() running
at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/sharedconsole.py:36>>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
____________________________ TestRunner.test_quiet
_____________________________
self = <molotov.tests.test_run.TestRunner testMethod=test_quiet>
@dedicatedloop
def test_quiet(self):
@scenario(weight=10)
async def here_three(session):
_RES.append(3)
> stdout, stderr, rc = self._test_molotov(
"-cx", "--max-runs", "1", "-q", "-s", "here_three",
"molotov.tests.test_run"
)
molotov/tests/test_run.py:683: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/tests/test_run.py:141: in
_test_molotov
main()
molotov/run.py:223: in main
return run(args)
molotov/run.py:301: in run
res = Runner(args)()
molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:119: in _launch_processes
self._process()
molotov/runner.py:202: in _process
workers = self.gather(*self._runner())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde7922bc0>
futures = (<Task pending name='Task-71' coro=<Worker.run() running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/worker.py:45>>,)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
____________________________ TestRunner.test_rampup
____________________________
self = <molotov.tests.test_run.TestRunner testMethod=test_rampup>
@dedicatedloop
def test_rampup(self):
with catch_sleep() as delay:
@scenario(weight=10)
async def here_three(session):
_RES.append(3)
> stdout, stderr, rc = self._test_molotov(
"--ramp-up",
"10",
"--workers",
"5",
"--console-update",
"0",
"-cx",
"--max-runs",
"2",
"-s",
"here_three",
"molotov.tests.test_run",
)
molotov/tests/test_run.py:370: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/tests/test_run.py:141: in
_test_molotov
main()
molotov/run.py:223: in main
return run(args)
molotov/run.py:301: in run
res = Runner(args)()
molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:119: in _launch_processes
self._process()
molotov/runner.py:199: in _process
display = self.gather(update, display)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde8175f60>
futures = (<Task pending name='Task-73' coro=<Runner._display_results()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.f...=<SharedConsole.display() running
at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/sharedconsole.py:36>>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
___________________________ TestRunner.test_redirect
___________________________
self = <molotov.tests.test_run.TestRunner testMethod=test_redirect>
@dedicatedloop_noclose
def test_redirect(self):
@scenario(weight=10)
async def _one(session):
# redirected
async with session.get("http://localhost:8888/redirect") as
resp:
redirect = resp.history
assert redirect[0].status == 302
assert resp.status == 200
# not redirected
async with session.get(
"http://localhost:8888/redirect", allow_redirects=False
) as resp:
redirect = resp.history
assert len(redirect) == 0
assert resp.status == 302
content = await resp.text()
assert content == ""
_RES.append(1)
args = self._get_args()
args.verbose = 2
args.max_runs = 2
with coserver():
run(args)
molotov/tests/test_run.py:79: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/run.py:301: in run
res = Runner(args)()
molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:119: in _launch_processes
self._process()
molotov/runner.py:199: in _process
display = self.gather(update, display)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde7a6a110>
futures = (<Task pending name='Task-77' coro=<Runner._display_results()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.f...t-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/sharedconsole.py:36>
created at /usr/lib/python3.10/asyncio/tasks.py:638>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
----------------------------- Captured stdout call
-----------------------------
**** Molotov v2.1. Happy breaking! ****
----------------------------- Captured stderr call
-----------------------------
127.0.0.1 - - [08/Dec/2021 15:20:15] "GET / HTTP/1.1" 200 -
____________________________ TestRunner.test_runner
____________________________
self = <molotov.tests.test_run.TestRunner testMethod=test_runner>
@dedicatedloop_noclose
def test_runner(self):
test_loop = asyncio.get_event_loop()
@global_setup()
def something_sync(args):
grab = request("http://localhost:8888")
self.assertEqual(grab["status"], 200)
grab_json = json_request("http://localhost:8888/molotov.json")
self.assertTrue("molotov" in grab_json["content"])
@scenario(weight=10)
async def here_one(session):
async with session.get("http://localhost:8888") as resp:
await resp.text()
_RES.append(1)
@scenario(weight=90)
async def here_two(session):
if session.statsd is not None:
session.statsd.increment("yopla")
_RES.append(2)
args = self._get_args()
server = UDPServer("127.0.0.1", 9999, loop=test_loop)
molotov/tests/test_run.py:107: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/tests/statsd.py:36: in
__init__
self.incoming = asyncio.Queue(loop=self.loop)
/usr/lib/python3.10/asyncio/queues.py:33: in __init__
super().__init__(loop=loop)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <[AttributeError("'Queue' object has no attribute '_maxsize'")
raised in repr()] Queue object at 0x7efde652c460>
def __init__(self, *, loop=_marker):
if loop is not _marker:
raise TypeError(
f'As of 3.10, the *loop* parameter was removed from '
f'{type(self).__name__}() since it is no longer necessary'
)
E TypeError: As of 3.10, the *loop* parameter was removed from
Queue() since it is no longer necessary
/usr/lib/python3.10/asyncio/mixins.py:17: TypeError
_________________________ TestRunner.test_single_mode
__________________________
self = <molotov.tests.test_run.TestRunner testMethod=test_single_mode>
@dedicatedloop
def test_single_mode(self):
@scenario(weight=10)
async def here_three(session):
_RES.append(3)
> stdout, stderr, rc = self._test_molotov(
"-cx", "--max-runs", "2", "-s", "here_three",
"molotov.tests.test_run"
)
molotov/tests/test_run.py:214: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/tests/test_run.py:141: in
_test_molotov
main()
molotov/run.py:223: in main
return run(args)
molotov/run.py:301: in run
res = Runner(args)()
molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:119: in _launch_processes
self._process()
molotov/runner.py:199: in _process
display = self.gather(update, display)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde655a6e0>
futures = (<Task pending name='Task-80' coro=<Runner._display_results()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.f...=<SharedConsole.display() running
at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/sharedconsole.py:36>>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
__________________________ TestRunner.test_single_run
__________________________
self = <molotov.tests.test_run.TestRunner testMethod=test_single_run>
@dedicatedloop
def test_single_run(self):
_RES = defaultdict(int)
with catch_sleep():
@scenario()
async def one(session):
_RES["one"] += 1
@scenario()
async def two(session):
_RES["two"] += 1
@scenario()
async def three(session):
_RES["three"] += 1
> stdout, stderr, rc = self._test_molotov(
"--single-run", "molotov.tests.test_run",
)
molotov/tests/test_run.py:753: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/tests/test_run.py:141: in
_test_molotov
main()
molotov/run.py:223: in main
return run(args)
molotov/run.py:301: in run
res = Runner(args)()
molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:119: in _launch_processes
self._process()
molotov/runner.py:199: in _process
display = self.gather(update, display)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde79785b0>
futures = (<Task pending name='Task-83' coro=<Runner._display_results()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.f...=<SharedConsole.display() running
at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/sharedconsole.py:36>>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
_____________________ TestRunner.test_sizing_multiprocess
______________________
self = <molotov.tests.test_run.TestRunner
testMethod=test_sizing_multiprocess>
@dedicatedloop
def test_sizing_multiprocess(self):
counters = SharedCounters("OK", "FAILED")
with catch_sleep():
@scenario()
async def sizer(session):
if random.randint(0, 10) == 1:
counters["FAILED"] += 1
raise AssertionError()
else:
counters["OK"] += 1
with set_args(
"molotov",
"--sizing",
"-p",
"2",
"--sizing-tolerance",
"5",
"--console-update",
"0",
"-s",
"sizer",
"molotov.tests.test_run",
) as (stdout, stderr):
try:
main()
molotov/tests/test_run.py:453: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/run.py:223: in main
return run(args)
molotov/run.py:301: in run
res = Runner(args)()
molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:117: in _launch_processes
self.loop.run_until_complete(self.gather(*tasks))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde771dea0>
futures = (<Task pending name='Task-85' coro=<SharedConsole.display()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI...launch_processes.<locals>.run()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/runner.py:101>>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
_______________ TestRunner.test_sizing_multiprocess_interrupted
________________
self = <molotov.tests.test_run.TestRunner
testMethod=test_sizing_multiprocess_interrupted>
@dedicatedloop
def test_sizing_multiprocess_interrupted(self):
counters = SharedCounters("OK", "FAILED")
@scenario()
async def sizer(session):
if random.randint(0, 10) == 1:
counters["FAILED"] += 1
raise AssertionError()
else:
counters["OK"] += 1
async def _stop():
await asyncio.sleep(2.0)
os.kill(os.getpid(), signal.SIGINT)
asyncio.ensure_future(_stop())
stdout, stderr, rc = self._test_molotov(
"--sizing",
"-p",
"3",
"--sizing-tolerance",
"90",
"--console-update",
"0",
"-s",
"sizer",
"molotov.tests.test_run",
)
molotov/tests/test_run.py:577: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/tests/test_run.py:141: in
_test_molotov
main()
molotov/run.py:223: in main
return run(args)
molotov/run.py:301: in run
res = Runner(args)()
molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:117: in _launch_processes
self.loop.run_until_complete(self.gather(*tasks))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde772b610>
futures = (<Task pending name='Task-89' coro=<SharedConsole.display()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI...launch_processes.<locals>.run()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/runner.py:101>>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
------------------------------ Captured log call
-------------------------------
ERROR asyncio:base_events.py:1729 Task was destroyed but it is pending!
task: <Task pending name='Task-88'
coro=<TestRunner.test_sizing_multiprocess_interrupted.<locals>._stop()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/tests/test_run.py:572>>
__________________ TestRunner.test_slow_server_force_shutdown
__________________
self = <molotov.tests.test_run.TestRunner
testMethod=test_slow_server_force_shutdown>
@dedicatedloop_noclose
def test_slow_server_force_shutdown(self):
@scenario(weight=10)
async def _one(session):
async with session.get("http://localhost:8888/slow") as resp:
assert resp.status == 200
_RES.append(1)
args = self._get_args()
args.duration = 0.1
args.verbose = 2
args.max_runs = 1
args.force_shutdown = True
start = time.time()
with coserver():
run(args)
molotov/tests/test_run.py:704: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/run.py:301: in run
res = Runner(args)()
molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:119: in _launch_processes
self._process()
molotov/runner.py:199: in _process
display = self.gather(update, display)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde653db10>
futures = (<Task pending name='Task-95' coro=<Runner._display_results()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.f...t-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/sharedconsole.py:36>
created at /usr/lib/python3.10/asyncio/tasks.py:638>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
----------------------------- Captured stdout call
-----------------------------
**** Molotov v2.1. Happy breaking! ****
----------------------------- Captured stderr call
-----------------------------
127.0.0.1 - - [08/Dec/2021 15:20:15] "GET / HTTP/1.1" 200 -
_____________________ TestRunner.test_slow_server_graceful
_____________________
self = <molotov.tests.test_run.TestRunner
testMethod=test_slow_server_graceful>
@dedicatedloop_noclose
def test_slow_server_graceful(self):
@scenario(weight=10)
async def _one(session):
async with session.get("http://localhost:8888/slow") as resp:
assert resp.status == 200
_RES.append(1)
args = self._get_args()
args.duration = 0.1
args.verbose = 2
args.max_runs = 1
# graceful shutdown on the other hand will wait
# for the worker completion
args.graceful_shutdown = True
start = time.time()
with coserver():
run(args)
molotov/tests/test_run.py:729: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/run.py:301: in run
res = Runner(args)()
molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:119: in _launch_processes
self._process()
molotov/runner.py:199: in _process
display = self.gather(update, display)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde770f190>
futures = (<Task pending name='Task-99' coro=<Runner._display_results()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.f...t-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/sharedconsole.py:36>
created at /usr/lib/python3.10/asyncio/tasks.py:638>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
----------------------------- Captured stdout call
-----------------------------
**** Molotov v2.1. Happy breaking! ****
----------------------------- Captured stderr call
-----------------------------
127.0.0.1 - - [08/Dec/2021 15:20:16] "GET / HTTP/1.1" 200 -
_________________________ TestRunner.test_timed_sizing
_________________________
self = <molotov.tests.test_run.TestRunner testMethod=test_timed_sizing>
@dedicatedloop
def test_timed_sizing(self):
_RES2["fail"] = 0
_RES2["succ"] = 0
_RES2["messed"] = False
with catch_sleep():
@scenario()
async def sizer(session):
if session.worker_id == 200 and not _RES2["messed"]:
# worker 2 will mess with the timer
# since we're faking all timers, the current
# time in the test is always around 0
# so to have now() - get_timer() > 60
# we need to set a negative value here
# to trick it
set_timer(-61)
_RES2["messed"] = True
_RES2["fail"] = _RES2["succ"] = 0
if session.worker_id > 100:
# starting to introduce errors passed the 100th
if random.randint(0, 10) == 1:
_RES2["fail"] += 1
raise AssertionError()
else:
_RES2["succ"] += 1
# forces a switch
await asyncio.sleep(0)
> stdout, stderr, rc = self._test_molotov(
"--sizing",
"--sizing-tolerance",
"5",
"--console-update",
"0",
"-cs",
"sizer",
"molotov.tests.test_run",
)
molotov/tests/test_run.py:545: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/tests/test_run.py:141: in
_test_molotov
main()
molotov/run.py:223: in main
return run(args)
molotov/run.py:301: in run
res = Runner(args)()
molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:119: in _launch_processes
self._process()
molotov/runner.py:199: in _process
display = self.gather(update, display)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde7a63a90>
futures = (<Task pending name='Task-102' coro=<Runner._display_results()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build....=<SharedConsole.display()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/sharedconsole.py:36>>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
________________________ TestRunner.test_use_extension
_________________________
self = <molotov.tests.test_run.TestRunner testMethod=test_use_extension>
@dedicatedloop
def test_use_extension(self):
ext = os.path.join(_HERE, "example5.py")
@scenario(weight=10)
async def simpletest(session):
async with session.get("http://localhost:8888") as resp:
assert resp.status == 200
with coserver():
stdout, stderr, rc = self._test_molotov(
"-cx",
"--max-runs",
"1",
"--use-extension=" + ext,
"-s",
"simpletest",
"molotov.tests.test_run",
)
molotov/tests/test_run.py:601: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/tests/test_run.py:141: in
_test_molotov
main()
molotov/run.py:223: in main
return run(args)
molotov/run.py:301: in run
res = Runner(args)()
molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:119: in _launch_processes
self._process()
molotov/runner.py:199: in _process
display = self.gather(update, display)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde7729810>
futures = (<Task pending name='Task-105' coro=<Runner._display_results()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build....=<SharedConsole.display()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/sharedconsole.py:36>>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
----------------------------- Captured stderr call
-----------------------------
127.0.0.1 - - [08/Dec/2021 15:20:16] "GET / HTTP/1.1" 200 -
__________________ TestRunner.test_use_extension_module_name
___________________
self = <molotov.tests.test_run.TestRunner
testMethod=test_use_extension_module_name>
@dedicatedloop
def test_use_extension_module_name(self):
ext = "molotov.tests.example5"
@scenario(weight=10)
async def simpletest(session):
async with session.get("http://localhost:8888") as resp:
assert resp.status == 200
with coserver():
stdout, stderr, rc = self._test_molotov(
"-cx",
"--max-runs",
"1",
"--use-extension=" + ext,
"-s",
"simpletest",
"molotov.tests.test_run",
)
molotov/tests/test_run.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/tests/test_run.py:141: in
_test_molotov
main()
molotov/run.py:223: in main
return run(args)
molotov/run.py:301: in run
res = Runner(args)()
molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:119: in _launch_processes
self._process()
molotov/runner.py:199: in _process
display = self.gather(update, display)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde7964a60>
futures = (<Task pending name='Task-108' coro=<Runner._display_results()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build....=<SharedConsole.display()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/sharedconsole.py:36>>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
----------------------------- Captured stderr call
-----------------------------
127.0.0.1 - - [08/Dec/2021 15:20:16] "GET / HTTP/1.1" 200 -
____________________________ TestRunner.test_uvloop
____________________________
self = <molotov.tests.test_run.TestRunner testMethod=test_uvloop>
@skip_pypy
@dedicatedloop
def test_uvloop(self):
try:
import uvloop # noqa
except ImportError:
return
@scenario(weight=10)
async def here_three(session):
_RES.append(3)
> stdout, stderr, rc = self._test_molotov(
"-cx",
"--max-runs",
"2",
"-s",
"here_three",
"--uvloop",
"molotov.tests.test_run",
)
molotov/tests/test_run.py:326: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ molotov/tests/test_run.py:141: in
_test_molotov
main()
molotov/run.py:223: in main
return run(args)
molotov/run.py:301: in run
res = Runner(args)()
molotov/runner.py:73: in __call__
return self._launch_processes()
molotov/runner.py:119: in _launch_processes
self._process()
molotov/runner.py:199: in _process
display = self.gather(update, display)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
self = <molotov.runner.Runner object at 0x7efde64be2c0>
futures = (<Task pending name='Task-111' coro=<Runner._display_results()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build....=<SharedConsole.display()
running at
/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/sharedconsole.py:36>>)
def gather(self, *futures):
return asyncio.gather(*futures, loop=self.loop, return_exceptions=True)
E TypeError: gather() got an unexpected keyword argument 'loop'
molotov/runner.py:57: TypeError
_____________________ TestSharedConsole.test_multiprocess
______________________
self = <molotov.tests.test_sharedconsole.TestSharedConsole
testMethod=test_multiprocess>
@dedicatedloop
def test_multiprocess(self):
test_loop = asyncio.get_event_loop()
# now let's try with several processes
pool = multiprocessing.Pool(3)
try:
inputs = [1] * 3
pool.map(run_worker, inputs)
finally:
pool.close()
async def stop():
await asyncio.sleep(1)
await _CONSOLE.stop()
with catch_output() as (stdout, stderr):
stop = asyncio.ensure_future(stop())
display = asyncio.ensure_future(_CONSOLE.display())
test_loop.run_until_complete(asyncio.gather(stop, display))
molotov/tests/test_sharedconsole.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/asyncio/base_events.py:641: in run_until_complete
return future.result()
molotov/sharedconsole.py:55: in display
await cancellable_sleep(self._interval)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
delay = 0.0, result = None
async def sleep(delay, result=None, *, loop=None):
coro = asyncio.sleep(delay, result=result, loop=loop)
E TypeError: sleep() got an unexpected keyword argument 'loop'
molotov/util.py:258: TypeError
----------------------------- Captured stdout call
-----------------------------
[2973] hello
[2973] 'meh'
[2972] hello
[2971] hello
[2973] File
"/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/tests/test_sharedconsole.py",
line 31, in run_worker
[2972] 'meh'
[2971] 'meh'
[2973] 3 + ""
[2972] File
"/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/tests/test_sharedconsole.py",
line 31, in run_worker
[2971] File
"/tmp/autopkgtest-lxc.xbv3jus_/downtmp/build.fzI/src/molotov/tests/test_sharedconsole.py",
line 31, in run_worker
[2972] 3 + ""
[2971] 3 + ""
_____________________ TestSharedConsole.test_simple_usage
______________________
self = <molotov.tests.test_sharedconsole.TestSharedConsole
testMethod=test_simple_usage>
@dedicatedloop
def test_simple_usage(self):
test_loop = asyncio.get_event_loop()
stream = io.StringIO()
console = SharedConsole(interval=0.0, stream=stream)
async def add_lines():
console.print("one")
console.print("two")
console.print("3")
try:
1 + "e"
except Exception as e:
console.print_error(e)
console.print_error(e, sys.exc_info()[2])
await asyncio.sleep(0.2)
await console.stop()
with catch_output() as (stdout, stderr):
adder = asyncio.ensure_future(add_lines())
displayer = asyncio.ensure_future(console.display())
test_loop.run_until_complete(asyncio.gather(adder, displayer))
molotov/tests/test_sharedconsole.py:67: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/asyncio/base_events.py:641: in run_until_complete
return future.result()
molotov/sharedconsole.py:55: in display
await cancellable_sleep(self._interval)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _
delay = 0.0, result = None
async def sleep(delay, result=None, *, loop=None):
coro = asyncio.sleep(delay, result=result, loop=loop)
E TypeError: sleep() got an unexpected keyword argument 'loop'
molotov/util.py:258: TypeError
OpenPGP_signature
Description: OpenPGP digital signature
--- End Message ---