コード例 #1
0
ファイル: test-ctxmanager.py プロジェクト: cmjonze/mercurial
 def test_basics(self):
     trace = []
     addtrace = trace.append
     with util.ctxmanager(ctxmgr('a', addtrace), ctxmgr('b', addtrace)) as c:
         a, b = c.enter()
         c.atexit(addtrace, ('atexit', 'x'))
         c.atexit(addtrace, ('atexit', 'y'))
     self.assertEqual(trace, [('enter', 'a'), ('enter', 'b'),
                              ('atexit', 'y'), ('atexit', 'x'),
                              ('exit', 'b'), ('exit', 'a')])
コード例 #2
0
 def test_basics(self):
     trace = []
     addtrace = trace.append
     with util.ctxmanager(ctxmgr('a', addtrace), ctxmgr('b',
                                                        addtrace)) as c:
         a, b = c.enter()
         c.atexit(addtrace, ('atexit', 'x'))
         c.atexit(addtrace, ('atexit', 'y'))
     self.assertEqual(trace,
                      [('enter', 'a'), ('enter', 'b'), ('atexit', 'y'),
                       ('atexit', 'x'), ('exit', 'b'), ('exit', 'a')])
コード例 #3
0
 def go():
     with util.ctxmanager(ctxmgr('a', addtrace),
                          lambda: raise_on_exit('b', addtrace)) as c:
         c.enter()
         addtrace('running')
コード例 #4
0
 def go():
     with util.ctxmanager(ctxmgr('a', addtrace),
                          lambda: raise_on_enter('b', addtrace)) as c:
         c.enter()
         addtrace('unreachable')
コード例 #5
0
ファイル: test-ctxmanager.py プロジェクト: cmjonze/mercurial
 def go():
     with util.ctxmanager(ctxmgr('a', addtrace),
                          lambda: raise_on_exit('b', addtrace)) as c:
         c.enter()
         addtrace('running')
コード例 #6
0
ファイル: test-ctxmanager.py プロジェクト: cmjonze/mercurial
 def go():
     with util.ctxmanager(ctxmgr('a', addtrace),
                          lambda: raise_on_enter('b', addtrace)) as c:
         c.enter()
         addtrace('unreachable')