#!/usr/bin/env python

import common
import sys

class FailModem(common.Modem):
    def GetRegistrationState(self, *args, **kwargs):
        raise common.RandomError

common.setup()
mm = common.ModemManager(common.bus, common.OCMM)
tm0 = FailModem(mm, '/TestModem/4')
common.cleanup(lambda: sys.exit(0))
common.run()
