#!/usr/bin/env python

import common
import sys

class CrashModem(common.Modem):
    def GetSignalQuality(self, *args, **kwargs):
        sys.exit(0)

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