rework tests due to explicit initialization

This commit is contained in:
meejah
2015-11-27 01:58:13 -07:00
parent 54bdd2866c
commit d7762d9dbc
9 changed files with 54 additions and 64 deletions

View File

@@ -30,7 +30,7 @@ import txaio
from util import run_once from util import run_once
def test_as_future_immediate(): def test_as_future_immediate(framework):
''' '''
Returning an immediate value from as_future Returning an immediate value from as_future
''' '''
@@ -59,7 +59,7 @@ def test_as_future_immediate():
assert calls[0] == ((1, 2, 3), dict(key='word')) assert calls[0] == ((1, 2, 3), dict(key='word'))
def test_as_future_immediate_none(): def test_as_future_immediate_none(framework):
''' '''
Returning None immediately from as_future Returning None immediately from as_future
''' '''
@@ -88,7 +88,7 @@ def test_as_future_immediate_none():
assert calls[0] == ((1, 2, 3), dict(key='word')) assert calls[0] == ((1, 2, 3), dict(key='word'))
def test_as_future_coroutine(): def test_as_future_coroutine(framework):
''' '''
call a coroutine (asyncio) call a coroutine (asyncio)
''' '''
@@ -127,7 +127,7 @@ def test_as_future_coroutine():
assert calls[0] == ((1, 2, 3), dict(key='word')) assert calls[0] == ((1, 2, 3), dict(key='word'))
def test_as_future_exception(): def test_as_future_exception(framework):
''' '''
Raises an exception from as_future Raises an exception from as_future
''' '''
@@ -157,7 +157,7 @@ def test_as_future_exception():
assert calls[0] == ((1, 2, 3), dict(key='word')) assert calls[0] == ((1, 2, 3), dict(key='word'))
def test_as_future_recursive(): def test_as_future_recursive(framework):
''' '''
Returns another Future from as_future Returns another Future from as_future
''' '''

View File

@@ -31,20 +31,23 @@ import txaio
from txaio.testutil import replace_loop from txaio.testutil import replace_loop
def test_default_reactor(): def test_default_reactor(framework_tx):
""" """
run the code that defaults txaio.config.loop run the code that defaults txaio.config.loop
""" """
pytest.importorskip('twisted') pytest.importorskip('twisted')
assert txaio.config.loop is None assert txaio.config.loop is None
txaio.call_later(1, lambda: None) try:
txaio.call_later(1, lambda: None)
from twisted.internet import reactor from twisted.internet import reactor
assert txaio.config.loop is reactor assert txaio.config.loop is reactor
finally:
txaio.config.loop = None
def test_explicit_reactor_future(): def test_explicit_reactor_future(framework):
""" """
If we set an event-loop, Futures + Tasks should use it. If we set an event-loop, Futures + Tasks should use it.
""" """
@@ -61,7 +64,7 @@ def test_explicit_reactor_future():
assert c[0] == 'call_soon' assert c[0] == 'call_soon'
def test_explicit_reactor_coroutine(): def test_explicit_reactor_coroutine(framework):
""" """
If we set an event-loop, Futures + Tasks should use it. If we set an event-loop, Futures + Tasks should use it.
""" """
@@ -83,7 +86,7 @@ def test_explicit_reactor_coroutine():
assert c[0] == 'call_soon' assert c[0] == 'call_soon'
def test_call_later(): def test_call_later(framework_tx):
''' '''
Wait for two Futures. Wait for two Futures.
''' '''

View File

@@ -29,7 +29,7 @@ import txaio
from util import run_once from util import run_once
def test_default_resolve(): def test_default_resolve(framework):
f = txaio.create_future() f = txaio.create_future()
results = [] results = []
@@ -44,7 +44,7 @@ def test_default_resolve():
assert results[0] is None assert results[0] is None
def test_callback(): def test_callback(framework):
f = txaio.create_future() f = txaio.create_future()
results = [] results = []
@@ -59,7 +59,7 @@ def test_callback():
assert results[0] == "it worked" assert results[0] == "it worked"
def test_chained_callback(): def test_chained_callback(framework):
""" """
Chain two callbacks where the first one alters the value. Chain two callbacks where the first one alters the value.
""" """
@@ -84,7 +84,7 @@ def test_chained_callback():
assert calls[1] == "the deal pray I do not alter it futher" assert calls[1] == "the deal pray I do not alter it futher"
def test_immediate_result(): def test_immediate_result(framework):
f = txaio.create_future_success("it worked") f = txaio.create_future_success("it worked")
results = [] results = []

View File

@@ -1,7 +1,7 @@
import txaio import txaio
def test_illegal_args(): def test_illegal_args(framework):
try: try:
txaio.create_future(result=1, error=RuntimeError("foo")) txaio.create_future(result=1, error=RuntimeError("foo"))
assert False assert False
@@ -9,7 +9,7 @@ def test_illegal_args():
pass pass
def test_create_result(): def test_create_result(framework):
f = txaio.create_future(result='foo') f = txaio.create_future(result='foo')
if txaio.using_twisted: if txaio.using_twisted:
assert f.called assert f.called
@@ -17,7 +17,7 @@ def test_create_result():
assert f.done() assert f.done()
def test_create_error(): def test_create_error(framework):
f = txaio.create_future(error=RuntimeError("test")) f = txaio.create_future(error=RuntimeError("test"))
if txaio.using_twisted: if txaio.using_twisted:
assert f.called assert f.called

View File

@@ -29,7 +29,7 @@ import txaio
from util import run_once from util import run_once
def test_errback(): def test_errback(framework):
f = txaio.create_future() f = txaio.create_future()
exception = RuntimeError("it failed") exception = RuntimeError("it failed")
errors = [] errors = []
@@ -58,7 +58,7 @@ def test_errback():
assert 'it failed' in str(errors[0]) assert 'it failed' in str(errors[0])
def test_errback_without_except(): def test_errback_without_except(framework):
''' '''
Create a failure without an except block Create a failure without an except block
''' '''
@@ -84,7 +84,7 @@ def test_errback_without_except():
assert 'it failed' in str(errors[0]) assert 'it failed' in str(errors[0])
def test_errback_plain_exception(): def test_errback_plain_exception(framework):
''' '''
reject a future with just an Exception reject a future with just an Exception
''' '''
@@ -109,7 +109,7 @@ def test_errback_plain_exception():
assert 'it failed' in str(errors[0]) assert 'it failed' in str(errors[0])
def test_errback_illegal_args(): def test_errback_illegal_args(framework):
''' '''
non-Exception/Failures should be rejected non-Exception/Failures should be rejected
''' '''
@@ -121,7 +121,7 @@ def test_errback_illegal_args():
pass pass
def test_errback_reject_no_args(): def test_errback_reject_no_args(framework):
""" """
txaio.reject() with no args txaio.reject() with no args
""" """
@@ -151,7 +151,7 @@ def test_errback_reject_no_args():
assert 'it failed' in str(errors[0]) assert 'it failed' in str(errors[0])
def test_immediate_failure(): def test_immediate_failure(framework):
exception = RuntimeError("it failed") exception = RuntimeError("it failed")
try: try:
raise exception raise exception

View File

@@ -29,7 +29,7 @@ import txaio
from util import await from util import await
def test_gather_two(): def test_gather_two(framework_tx):
''' '''
Wait for two Futures. Wait for two Futures.
''' '''
@@ -72,7 +72,7 @@ def test_gather_two():
assert calls[1] == (tuple(), dict()) assert calls[1] == (tuple(), dict())
def test_gather_no_consume(): def test_gather_no_consume(framework_tx):
''' '''
consume_exceptions=False consume_exceptions=False
''' '''

View File

@@ -1,7 +1,7 @@
import pytest import pytest
def test_use_twisted(): def test_use_twisted(framework_tx):
pytest.importorskip('twisted') pytest.importorskip('twisted')
import txaio import txaio
@@ -10,7 +10,7 @@ def test_use_twisted():
assert not txaio.using_asyncio assert not txaio.using_asyncio
def test_use_twisted_no_twisted(): def test_use_twisted_no_twisted(framework_uninitialized):
# make sure we DO NOT have Twisted installed # make sure we DO NOT have Twisted installed
try: try:
import twisted # noqa import twisted # noqa
@@ -26,20 +26,12 @@ def test_use_twisted_no_twisted():
pass pass
assert not txaio.using_twisted assert not txaio.using_twisted
assert txaio.using_asyncio
def test_use_asyncio(): def test_use_asyncio(framework_aio):
pytest.importorskip('asyncio') pytest.importorskip('asyncio')
# note: in the py34-twisted environments we have both, so make
# sure we "put it back"...
import txaio import txaio
tx = txaio.using_twisted txaio.use_asyncio()
try: assert txaio.using_asyncio
txaio.use_asyncio() assert not txaio.using_twisted
assert txaio.using_asyncio
assert not txaio.using_twisted
finally:
if tx:
txaio.use_twisted()

View File

@@ -24,11 +24,10 @@
# #
############################################################################### ###############################################################################
import pytest
import txaio import txaio
def test_is_future_generic(): def test_is_future_generic(framework):
''' '''
Returning an immediate value from as_future Returning an immediate value from as_future
''' '''
@@ -37,14 +36,10 @@ def test_is_future_generic():
assert txaio.is_future(f) assert txaio.is_future(f)
def test_is_future_coroutine(): def test_is_future_coroutine(framework_aio):
''' '''
Returning an immediate value from as_future Returning an immediate value from as_future
''' '''
pytest.importorskip('asyncio')
if not txaio.using_asyncio:
pytest.skip()
from asyncio import coroutine from asyncio import coroutine
@coroutine @coroutine

View File

@@ -46,8 +46,8 @@ class TestHandler(BytesIO):
return self.getvalue().split(os.linesep.encode('ascii'))[:-1] return self.getvalue().split(os.linesep.encode('ascii'))[:-1]
@pytest.fixture(scope='session') @pytest.fixture
def log_started(): def log_started(framework):
""" """
Sets up the logging, which we can only do once per run. Sets up the logging, which we can only do once per run.
""" """
@@ -69,7 +69,7 @@ def handler(log_started):
return log_started return log_started
def test_critical(handler): def test_critical(handler, framework):
logger = txaio.make_logger() logger = txaio.make_logger()
# do something a little fancy, with attribute access etc. # do something a little fancy, with attribute access etc.
@@ -83,7 +83,7 @@ def test_critical(handler):
assert handler.messages[0].endswith(b"hilarious wombat") assert handler.messages[0].endswith(b"hilarious wombat")
def test_info(handler): def test_info(handler, framework):
logger = txaio.make_logger() logger = txaio.make_logger()
# do something a little fancy, with attribute access etc. # do something a little fancy, with attribute access etc.
@@ -97,13 +97,13 @@ def test_info(handler):
assert handler.messages[0].endswith(b"hilarious elephant") assert handler.messages[0].endswith(b"hilarious elephant")
def test_bad_failures(handler): def test_bad_failures(handler, framework):
# just ensuring this doesn't explode # just ensuring this doesn't explode
txaio.failure_format_traceback("not a failure") txaio.failure_format_traceback("not a failure")
txaio.failure_message("not a failure") txaio.failure_message("not a failure")
def test_debug_with_object(handler): def test_debug_with_object(handler, framework):
logger = txaio.make_logger() logger = txaio.make_logger()
class Shape(object): class Shape(object):
@@ -120,7 +120,7 @@ def test_debug_with_object(handler):
assert handler.messages[0].endswith(b"bar 4 bamboozle") assert handler.messages[0].endswith(b"bar 4 bamboozle")
def test_log_noop_trace(handler): def test_log_noop_trace(handler, framework):
# trace should be a no-op, because we set the level to 'debug' in # trace should be a no-op, because we set the level to 'debug' in
# the fixture # the fixture
logger = txaio.make_logger() logger = txaio.make_logger()
@@ -130,14 +130,14 @@ def test_log_noop_trace(handler):
assert len(handler.messages) == 0 assert len(handler.messages) == 0
def test_double_start(handler): def test_double_start(handler, framework):
try: try:
txaio.start_logging() txaio.start_logging()
except RuntimeError: except RuntimeError:
assert False, "shouldn't get exception" assert False, "shouldn't get exception"
def test_invalid_level(): def test_invalid_level(framework):
try: try:
txaio.start_logging(level='foo') txaio.start_logging(level='foo')
assert False, "should get exception" assert False, "should get exception"
@@ -145,7 +145,7 @@ def test_invalid_level():
assert 'Invalid log level' in str(e) assert 'Invalid log level' in str(e)
def test_class_descriptor(handler): def test_class_descriptor(handler, framework):
class Something(object): class Something(object):
log = txaio.make_logger() log = txaio.make_logger()
@@ -159,7 +159,7 @@ def test_class_descriptor(handler):
assert handler.messages[0].endswith(b"doing a thing") assert handler.messages[0].endswith(b"doing a thing")
def test_class_attribute(handler): def test_class_attribute(handler, framework):
class Something(object): class Something(object):
def __init__(self): def __init__(self):
self.log = txaio.make_logger() self.log = txaio.make_logger()
@@ -174,7 +174,7 @@ def test_class_attribute(handler):
assert handler.messages[0].endswith(b"doing a thing") assert handler.messages[0].endswith(b"doing a thing")
def test_log_converter(handler): def test_log_converter(handler, framework):
pytest.importorskip("twisted.logger") pytest.importorskip("twisted.logger")
# this checks that we can convert a plain Twisted Logger calling # this checks that we can convert a plain Twisted Logger calling
# failure() into a traceback on our observers. # failure() into a traceback on our observers.
@@ -195,7 +195,7 @@ def test_log_converter(handler):
assert "Traceback" in output assert "Traceback" in output
def test_txlog_write_binary(handler): def test_txlog_write_binary(handler, framework):
""" """
Writing to a binary stream is supported. Writing to a binary stream is supported.
""" """
@@ -216,7 +216,7 @@ def test_txlog_write_binary(handler):
assert b"hi: hello" in output assert b"hi: hello" in output
def test_txlog_write_text(handler): def test_txlog_write_text(handler, framework_tx):
""" """
Writing to a text stream is supported. Writing to a text stream is supported.
""" """
@@ -237,7 +237,7 @@ def test_txlog_write_text(handler):
assert u"hi: hello" in output assert u"hi: hello" in output
def test_aiolog_write_binary(handler): def test_aiolog_write_binary(handler, framework_aio):
""" """
Writing to a binary stream is supported. Writing to a binary stream is supported.
""" """
@@ -257,7 +257,7 @@ def test_aiolog_write_binary(handler):
assert b"hi: hello" in output assert b"hi: hello" in output
def test_aiolog_write_text(handler): def test_aiolog_write_text(handler, framework_aio):
""" """
Writing to a text stream is supported. Writing to a text stream is supported.
""" """