#!/usr/bin/env python

import common
import sys

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

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