#!/usr/bin/env python

import common
import sys

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

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