Merge branch 'remove-loop-param' into 'master'

fix: remove loop parameter (3.10)

See merge request poezio/slixmpp!174
This commit is contained in:
mathieui 2021-12-13 23:26:04 +01:00
commit 6fb4617732
11 changed files with 54 additions and 55 deletions

View file

@ -23,6 +23,29 @@ test:
- pip3 install emoji aiohttp
- ./run_tests.py
test-3.10:
stage: test
tags:
- docker
image: python:3.10
script:
- apt update
- apt install -y python3 python3-pip cython3 gpg
- pip3 install emoji aiohttp
- ./run_tests.py
test-3.11:
stage: test
tags:
- docker
image: python:3.11-rc
allow_failure: true
script:
- apt update
- apt install -y python3 python3-pip cython3 gpg
- pip3 install emoji aiohttp
- ./run_tests.py
test_integration:
stage: test
tags:
@ -38,40 +61,10 @@ test_integration:
- pip3 install emoji aiohttp aiodns
- ./run_integration_tests.py
test_integration-3.10:
stage: test
tags:
- docker
image: python:3.10
only:
variables:
- $CI_ACCOUNT1
- $CI_ACCOUNT2
script:
- apt update
- apt install -y python3 python3-pip cython3 gpg
- pip3 install emoji aiohttp aiodns
- ./run_integration_tests.py
test_integration-3.11:
stage: test
tags:
- docker
image: python:3.11-rc
only:
variables:
- $CI_ACCOUNT1
- $CI_ACCOUNT2
script:
- apt update
- apt install -y python3 python3-pip cython3 gpg
- pip3 install emoji aiohttp aiodns
- ./run_integration_tests.py
trigger_poezio:
stage: trigger
tags:
- docker
image: appropriate/curl:latest
image: curlimages/curl:7.79.1
script:
- curl --request POST -F token="$SLIXMPP_TRIGGER_TOKEN" -F ref=master https://lab.louiz.org/api/v4/projects/18/trigger/pipeline

View file

@ -34,7 +34,14 @@ class TestPEP(SlixIntegration):
"""Check we can get and set public PEP data"""
stanza = Mystanza()
stanza['test'] = str(uuid4().hex)
await self.clients[0]['xep_0222'].store(stanza, id='toto')
try:
await self.clients[0]['xep_0060'].delete_node(
self.clients[0].boundjid.bare,
node=stanza.namespace,
)
except:
pass
await self.clients[0]['xep_0222'].store(stanza, node=stanza.namespace, id='toto')
fetched = await self.clients[0]['xep_0222'].retrieve(
stanza.namespace,
)

View file

@ -326,7 +326,6 @@ class XEP_0030(BasePlugin):
info_futures, _ = await asyncio.wait(
infos,
timeout=timeout,
loop=self.xmpp.loop
)
self.domain_infos[domain] = [

View file

@ -342,7 +342,7 @@ class XEP_0045(BasePlugin):
maxchars = 9
else:
maxstanzas = int(maxhistory)
return asyncio.create_task(
return asyncio.ensure_future(
self.join_muc_wait(
room=room,
nick=nick,

View file

@ -115,7 +115,7 @@ class IBBytestream(object):
self.xmpp.add_event_handler('ibb_stream_end', on_close)
self.xmpp.add_event_handler('ibb_stream_data', on_data)
try:
await asyncio.wait_for(end_future, timeout, loop=self.xmpp.loop)
await asyncio.wait_for(end_future, timeout)
except asyncio.TimeoutError:
raise IqTimeout(result)
finally:

View file

@ -61,7 +61,7 @@ class XEP_0163(BasePlugin):
for ns in namespace:
self.xmpp['xep_0030'].add_feature('%s+notify' % ns,
jid=jid)
asyncio.create_task(
asyncio.ensure_future(
self.xmpp['xep_0115'].update_caps(jid, broadcast=False),
loop=self.xmpp.loop,
)
@ -82,7 +82,7 @@ class XEP_0163(BasePlugin):
for ns in namespace:
self.xmpp['xep_0030'].del_feature(jid=jid,
feature='%s+notify' % namespace)
asyncio.create_task(
asyncio.ensure_future(
self.xmpp['xep_0115'].update_caps(jid, broadcast=False),
loop=self.xmpp.loop,
)

View file

@ -118,7 +118,7 @@ class XEP_0199(BasePlugin):
tmp_futures.append(future)
self.__pending_futures = tmp_futures
future = asyncio.create_task(
future = asyncio.ensure_future(
self._keepalive(event),
loop=self.xmpp.loop,
)

View file

@ -622,7 +622,7 @@ class SlixTest(unittest.TestCase):
def wait_for_send_queue(self):
loop = asyncio.get_event_loop()
future = asyncio.create_task(self.xmpp.run_filters(), loop=loop)
future = asyncio.ensure_future(self.xmpp.run_filters(), loop=loop)
queue = self.xmpp.waiting_queue
loop.run_until_complete(queue.join())
future.cancel()

View file

@ -6,7 +6,7 @@
# :license: MIT, see LICENSE for more details
from __future__ import annotations
import asyncio
from asyncio import iscoroutinefunction, ensure_future
from typing import Optional, Callable, Awaitable, TYPE_CHECKING
from slixmpp.xmlstream.stanzabase import StanzaBase
@ -52,7 +52,7 @@ class CoroutineCallback(BaseHandler):
pointer: CoroutineFunction, once: bool = False,
instream: bool = False, stream: Optional[XMLStream] = None):
BaseHandler.__init__(self, name, matcher, stream)
if not asyncio.iscoroutinefunction(pointer):
if not iscoroutinefunction(pointer):
raise ValueError("Given function is not a coroutine")
async def pointer_wrapper(stanza: StanzaBase) -> None:
@ -87,7 +87,7 @@ class CoroutineCallback(BaseHandler):
:meth:`prerun()`. Defaults to ``False``.
"""
if not self._instream or instream:
asyncio.create_task(self._pointer(payload))
ensure_future(self._pointer(payload))
if self._once:
self._destroy = True
del self._pointer

View file

@ -80,7 +80,7 @@ class Waiter(BaseHandler):
try:
await wait_for(
self._event.wait(), timeout, loop=stream.loop
self._event.wait(), timeout,
)
except TimeoutError:
log.warning("Timed out waiting for %s", self.name)

View file

@ -415,7 +415,7 @@ class XMLStream(asyncio.BaseProtocol):
"""
if self._run_out_filters is None or self._run_out_filters.done():
self._run_out_filters = asyncio.create_task(
self._run_out_filters = asyncio.ensure_future(
self.run_filters(),
loop=self.loop,
)
@ -439,7 +439,7 @@ class XMLStream(asyncio.BaseProtocol):
self.disable_starttls = disable_starttls
self.event("connecting")
self._current_connection_attempt = asyncio.create_task(
self._current_connection_attempt = asyncio.ensure_future(
self._connect_routine(),
loop=self.loop,
)
@ -449,7 +449,7 @@ class XMLStream(asyncio.BaseProtocol):
if self._connect_loop_wait > 0:
self.event('reconnect_delay', self._connect_loop_wait)
await asyncio.sleep(self._connect_loop_wait, loop=self.loop)
await asyncio.sleep(self._connect_loop_wait)
record = await self._pick_dns_answer(self.default_domain)
if record is not None:
@ -486,7 +486,7 @@ class XMLStream(asyncio.BaseProtocol):
if self._current_connection_attempt is None:
return
self._connect_loop_wait = self._connect_loop_wait * 2 + 1
self._current_connection_attempt = asyncio.create_task(
self._current_connection_attempt = asyncio.ensure_future(
self._connect_routine(),
loop=self.loop,
)
@ -504,10 +504,10 @@ class XMLStream(asyncio.BaseProtocol):
else:
self.loop.run_until_complete(self.disconnected)
else:
tasks: List[Future] = [asyncio.sleep(timeout, loop=self.loop)]
tasks: List[Future] = [asyncio.sleep(timeout)]
if not forever:
tasks.append(self.disconnected)
self.loop.run_until_complete(asyncio.wait(tasks, loop=self.loop))
self.loop.run_until_complete(asyncio.wait(tasks))
def init_parser(self) -> None:
"""init the XML parser. The parser must always be reset for each new
@ -653,12 +653,12 @@ class XMLStream(asyncio.BaseProtocol):
self.disconnect_reason = reason
if self.waiting_queue.empty() or ignore_send_queue:
self.cancel_connection_attempt()
return asyncio.create_task(
return asyncio.ensure_future(
self._end_stream_wait(wait, reason=reason),
loop=self.loop,
)
else:
return asyncio.create_task(
return asyncio.ensure_future(
self._consume_send_queue_before_disconnecting(reason, wait),
loop=self.loop,
)
@ -715,7 +715,7 @@ class XMLStream(asyncio.BaseProtocol):
log.debug("reconnecting...")
async def handler(event: Any) -> None:
# We yield here to allow synchronous handlers to work first
await asyncio.sleep(0, loop=self.loop)
await asyncio.sleep(0)
self.connect()
self.add_event_handler('disconnected', handler, disposable=True)
self.disconnect(wait, reason)
@ -1058,7 +1058,7 @@ class XMLStream(asyncio.BaseProtocol):
old_exception(e)
else:
self.exception(e)
asyncio.create_task(
asyncio.ensure_future(
handler_callback_routine(handler_callback),
loop=self.loop,
)
@ -1224,7 +1224,7 @@ class XMLStream(asyncio.BaseProtocol):
)
if pending:
self.__slow_tasks.append(task)
asyncio.create_task(
asyncio.ensure_future(
self._continue_slow_send(
task,
already_run_filters
@ -1431,7 +1431,7 @@ class XMLStream(asyncio.BaseProtocol):
:param coroutine: The coroutine to wrap.
"""
return asyncio.create_task(
return asyncio.ensure_future(
coroutine,
loop=self.loop,
)