예제 #1
0
    def test_atexit(self):
        # http://bugs.python.org/issue25532
        from mock import call

        m = Mock()
        with Replacer() as r:
            # make sure the marker is false, other tests will
            # probably have set it
            r.replace('testfixtures.LogCapture.atexit_setup', False)
            r.replace('atexit.register', m.register)

            l = LogCapture()

            expected = [call.register(l.atexit)]

            compare(expected, m.mock_calls)

            with catch_warnings(record=True) as w:
                l.atexit()
                self.assertTrue(len(w), 1)
                compare(str(w[0].message), (  # pragma: no branch
                    "LogCapture instances not uninstalled by shutdown, "
                    "loggers captured:\n"
                    "(None,)"
                    ))

            l.uninstall()

            compare(set(), LogCapture.instances)

            # check re-running has no ill effects
            l.atexit()
예제 #2
0
    def test_atexit(self):
        m = Mock()
        with Replacer() as r:
            # make sure the marker is false, other tests will
            # probably have set it
            r.replace('testfixtures.LogCapture.atexit_setup', False)
            r.replace('atexit.register', m.register)

            l = LogCapture()

            expected = [call.register(l.atexit)]

            compare(expected, m.mock_calls)

            with catch_warnings(record=True) as w:
                l.atexit()
                self.assertTrue(len(w), 1)
                compare(str(w[0].message), ( # pragma: no branch
                    "LogCapture instances not uninstalled by shutdown, "
                    "loggers captured:\n"
                    "(None,)"
                    ))
                
            l.uninstall()

            compare(set(), LogCapture.instances)
            
            # check re-running has no ill effects
            l.atexit()
 def test_atexit(self):
     l = LogCapture()
     self.assertTrue(
         LogCapture.atexit in [t[0] for t in atexit._exithandlers]
         )
     with catch_warnings(record=True) as w:
         l.atexit()
         self.assertTrue(len(w), 1)
         compare(str(w[0].message), (
             "LogCapture instances not uninstalled by shutdown, "
             "loggers captured:\n"
             "(None,)"
             ))
     l.uninstall()
     # check running it again has no ill effects
     l.atexit()
예제 #4
0
 def test_atexit(self):
     from mock import call
     m = Mock()
     with Replacer() as r:
         r.replace('testfixtures.LogCapture.atexit_setup', False)
         r.replace('atexit.register', m.register)
         l = LogCapture()
         expected = [call.register(l.atexit)]
         compare(expected, m.mock_calls)
         with catch_warnings(record=True) as w:
             l.atexit()
             self.assertTrue(len(w), 1)
             compare(
                 str(w[0].message),
                 'LogCapture instances not uninstalled by shutdown, loggers captured:\n(None,)'
             )
         l.uninstall()
         compare(set(), LogCapture.instances)
         l.atexit()