def test():
    def f(pipe):
        print "creating debugger"
        qdb = Qdb(pipe=pipe, redirect_stdio=False)
        print "set trace"

        my_var = "Mariano!"
        qdb.set_trace()
        print "hello world!"
        print "good by!"
        saraza

    if '--process' < sys.argv:
        from multiprocessing import Process, Pipe
        pipe, child_conn = Pipe()
        p = Process(target=f, args=(child_conn,))
    else:
        from threading import Thread
        from Queue import Queue
        parent_queue, child_queue = Queue(), Queue()
        front_conn = QueuePipe("parent", parent_queue, child_queue)
        child_conn = QueuePipe("child", child_queue, parent_queue)
        p = Thread(target=f, args=(child_conn,))

    p.start()
    import time

    class Test(Frontend):
        def interaction(self, *args):
            print "interaction!", args

        def exception(self, *args):
            print "exception", args
            #raise RuntimeError("exception %s" % repr(args))

    qdb = Test(front_conn)
    time.sleep(5)

    while 1:
        print "running..."
        Frontend.run(qdb)
        time.sleep(1)
        print "do_next"
        qdb.do_next()
    p.join()
dataset/ETHPy150Open uwdata/termite-data-server/web2py/gluon/contrib/qdb.py/test/operator `in` -> `<`