<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def assert_raises_errno(exception, errno, msg_fmt="{msg}"):
 """Fail unless an exception with a specific errno is raised with the context. Traceback (most recent call last):
 AssertionError: wrong errno: 44 != 17 The following msg_fmt arguments are supported: * msg - the default error message * exc_type - exception type that is expected * exc_name - expected exception type name * expected_errno - * actual_errno - raised errno or None if no matching exception was raised """


    def check_errno(exc):
        if errno != exc.errno:
            msg = "wrong errno: {!r} != {!r}".format(errno, exc.errno)
            fail(
                msg_fmt.format(
                    msg=msg,
                    exc_type=exception,
                    exc_name=exception.__name__,
                    expected_errno=errno,
                    actual_errno=exc.errno,
                )
            )

    context = AssertRaisesErrnoContext(exception, errno, msg_fmt)
    context.add_test(check_errno)
    return context