def emits_warning_on(db, *messages):
    'Mark a test as emitting a warning on a specific dialect.\n\n    With no arguments, squelches all SAWarning failures.  Or pass one or more\n    strings; these will be matched to the root of the warning description by\n    warnings.filterwarnings().\n\n    Note that emits_warning_on does **not** assert that the warnings\n    were in fact seen.\n\n    '

    @decorator
    def decorate(fn, *args, **kw):
        with expect_warnings_on(db, *messages, assert_=False):
            return fn(*args, **kw)
    return decorate
Mark a test as emitting a warning on a specific dialect.

With no arguments, squelches all SAWarning failures.  Or pass one or more
strings; these will be matched to the root of the warning description by
warnings.filterwarnings().

Note that emits_warning_on does **not** assert that the warnings
were in fact seen.
def emits_warning_on(db, *messages):
    'Mark a test as emitting a warning on a specific dialect.\n\n    With no arguments, squelches all SAWarning failures.  Or pass one or more\n    strings; these will be matched to the root of the warning description by\n    warnings.filterwarnings().\n\n    Note that emits_warning_on does **not** assert that the warnings\n    were in fact seen.\n\n    '

    @decorator
    def decorate(fn, *args, **kw):
        with expect_warnings_on(db, *messages, assert_=False):
            return fn(*args, **kw)
    return decorate