Beispiel #1
0
    def test_collect_report_dump(self):
        timer1 = TaskTimerStats()
        timer1.enabled = True
        timer1.run("foo", "bar", [], {})
        timer2 = TaskTimerStats()
        timer2.enabled = True
        timer2.run("foo", "bar", [], {})
        timer3 = TaskTimerStats()
        timer3.enabled = True
        timer3.run("foo", "bar", [], {})
        for timer in (timer1, timer2, timer3):
            timer.stop()

        # Collect
        self.s.collect()
        self.assertEquals(self.s.total_tasks_processed, 3)

        # Report
        with override_stdouts() as outs:
            stdout, stderr = outs
            self.s.report()
            self.assertTrue(
                "Total processing time by task type:" in stdout.getvalue())

        # Dump to cache
        self.s.dump_to_cache()
Beispiel #2
0
 def test_with_bogus_args(self):
     cmd = MockCommand()
     cmd.supports_args = False
     with override_stdouts() as (_, stderr):
         with self.assertRaises(SystemExit):
             cmd.execute_from_commandline(argv=["--bogus"])
     self.assertTrue(stderr.getvalue())
     self.assertIn("Unrecognized", stderr.getvalue())
Beispiel #3
0
 def test_setup_logger_no_handlers_stream(self):
     from multiprocessing import get_logger
     l = get_logger()
     l.handlers = []
     with override_stdouts() as outs:
         stdout, stderr = outs
         l = setup_logger(logfile=stderr, loglevel=logging.INFO)
         l.info("The quick brown fox...")
         self.assertTrue("The quick brown fox..." in stderr.getvalue())
Beispiel #4
0
    def test_setup_logger_no_handlers_stream(self):
        l = self.get_logger()
        l.handlers = []

        with override_stdouts() as outs:
            stdout, stderr = outs
            l = self.setup_logger(logfile=sys.stderr, loglevel=logging.INFO, root=False)
            l.info("The quick brown fox...")
            self.assertIn("The quick brown fox...", stderr.getvalue())
Beispiel #5
0
        def test_remove_if_stale_broken_pid(self):
            with override_stdouts():
                p = PIDFile('/var/pid')
                p.read_pid = Mock()
                p.read_pid.side_effect = ValueError()
                p.remove = Mock()

                self.assertTrue(p.remove_if_stale())
                p.remove.assert_called_with()
Beispiel #6
0
    def test_emergency_error_stderr(self):
        def with_override_stdouts(outs):
            stdout, stderr = outs
            emergency_error(None, "The lazy dog crawls under the fast fox")
            self.assertIn("The lazy dog crawls under the fast fox",
                          stderr.getvalue())

        context = override_stdouts()
        execute_context(context, with_override_stdouts)
Beispiel #7
0
    def test_setup_logger_no_handlers_stream(self):
        l = self.get_logger()
        set_handlers(l, [])

        with override_stdouts() as outs:
            stdout, stderr = outs
            l = self.setup_logger(logfile=stderr,
                                  loglevel=logging.INFO,
                                  root=False)
            l.info("The quick brown fox...")
            self.assertIn("The quick brown fox...", stderr.getvalue())
Beispiel #8
0
 def test_remove_if_stale_process_dead(self, kill):
     with override_stdouts():
         p = PIDFile("/var/pid")
         p.read_pid = Mock()
         p.read_pid.return_value = 1816
         p.remove = Mock()
         exc = OSError()
         exc.errno = errno.ESRCH
         kill.side_effect = exc
         self.assertTrue(p.remove_if_stale())
         kill.assert_called_with(1816, 0)
         p.remove.assert_called_with()
Beispiel #9
0
 def test_remove_if_stale_process_dead(self, kill):
     with override_stdouts():
         p = PIDFile('/var/pid')
         p.read_pid = Mock()
         p.read_pid.return_value = 1816
         p.remove = Mock()
         exc = OSError()
         exc.errno = errno.ESRCH
         kill.side_effect = exc
         self.assertTrue(p.remove_if_stale())
         kill.assert_called_with(1816, 0)
         p.remove.assert_called_with()
Beispiel #10
0
    def test_crash(self):
        class T(bgThread):
            def body(self):
                raise KeyError()

        with patch("os._exit") as _exit:
            with override_stdouts():
                _exit.side_effect = ValueError()
                t = T()
                with self.assertRaises(ValueError):
                    t.run()
                _exit.assert_called_with(1)
Beispiel #11
0
    def test_setup_logger_no_handlers_stream(self):
        l = self.get_logger()
        set_handlers(l, [])

        def with_override_stdouts(outs):
            stdout, stderr = outs
            l = self.setup_logger(logfile=stderr, loglevel=logging.INFO,
                                  root=False)
            l.info("The quick brown fox...")
            self.assertIn("The quick brown fox...", stderr.getvalue())

        context = override_stdouts()
        execute_context(context, with_override_stdouts)
Beispiel #12
0
    def test_setup_logger_no_handlers_stream(self):
        l = self.get_logger()
        set_handlers(l, [])

        def with_override_stdouts(outs):
            stdout, stderr = outs
            l = self.setup_logger(logfile=stderr, loglevel=logging.INFO,
                                  root=False)
            l.info("The quick brown fox...")
            self.assertIn("The quick brown fox...", stderr.getvalue())

        context = override_stdouts()
        execute_context(context, with_override_stdouts)
    def test_setup_logger_no_handlers_stream(self):
        from multiprocessing import get_logger
        l = get_logger()
        l.handlers = []

        def with_override_stdouts(outs):
            stdout, stderr = outs
            l = setup_logger(logfile=stderr, loglevel=logging.INFO)
            l.info("The quick brown fox...")
            self.assertIn("The quick brown fox...", stderr.getvalue())

        context = override_stdouts()
        execute_context(context, with_override_stdouts)
Beispiel #14
0
    def test_parser(self):
        x = detached_celeryd()
        p = x.Parser('celeryd_detach')
        options, values = p.parse_args(['--logfile=foo', '--fake', '--enable',
                                        'a', 'b', '-c1', '-d', '2'])
        self.assertEqual(options.logfile, 'foo')
        self.assertEqual(values, ['a', 'b'])
        self.assertEqual(p.leftovers, ['--enable', '-c1', '-d', '2'])

        with override_stdouts():
            with self.assertRaises(SystemExit):
                p.parse_args(['--logfile'])
            p.get_option('--logfile').nargs = 2
            with self.assertRaises(SystemExit):
                p.parse_args(['--logfile=a'])
            with self.assertRaises(SystemExit):
                p.parse_args(['--fake=abc'])

        assert p.get_option('--logfile').nargs == 2
        p.parse_args(['--logfile=a', 'b'])
        p.get_option('--logfile').nargs = 1
Beispiel #15
0
    def test_parser(self):
        x = detached_celeryd()
        p = x.Parser("celeryd_detach")
        options, values = p.parse_args(['--logfile=foo', "--fake", "--enable",
                                        "a", "b", "-c1", "-d", "2"])
        self.assertEqual(options.logfile, "foo")
        self.assertEqual(values, ["a", "b"])
        self.assertEqual(p.leftovers, ["--enable", "-c1", "-d", "2"])

        with override_stdouts():
            with self.assertRaises(SystemExit):
                p.parse_args(["--logfile"])
            p.get_option("--logfile").nargs = 2
            with self.assertRaises(SystemExit):
                p.parse_args(["--logfile=a"])
            with self.assertRaises(SystemExit):
                p.parse_args(["--fake=abc"])

        assert p.get_option("--logfile").nargs == 2
        p.parse_args(["--logfile=a", "b"])
        p.get_option("--logfile").nargs = 1
Beispiel #16
0
    def test_parser(self):
        x = detached_celeryd()
        p = x.Parser('celeryd_detach')
        options, values = p.parse_args(['--logfile=foo', '--fake', '--enable',
                                        'a', 'b', '-c1', '-d', '2'])
        self.assertEqual(options.logfile, 'foo')
        self.assertEqual(values, ['a', 'b'])
        self.assertEqual(p.leftovers, ['--enable', '-c1', '-d', '2'])

        with override_stdouts():
            with self.assertRaises(SystemExit):
                p.parse_args(['--logfile'])
            p.get_option('--logfile').nargs = 2
            with self.assertRaises(SystemExit):
                p.parse_args(['--logfile=a'])
            with self.assertRaises(SystemExit):
                p.parse_args(['--fake=abc'])

        assert p.get_option('--logfile').nargs == 2
        p.parse_args(['--logfile=a', 'b'])
        p.get_option('--logfile').nargs = 1
Beispiel #17
0
 def test_warn_deprecated(self):
     with override_stdouts() as (stdout, _):
         __main__._warn_deprecated('YADDA YADDA')
         self.assertIn('command is deprecated', stdout.getvalue())
         self.assertIn('YADDA YADDA', stdout.getvalue())
Beispiel #18
0
 def test_emergency_error_stderr(self):
     with override_stdouts() as outs:
         stdout, stderr = outs
         emergency_error(None, "The lazy dog crawls under the fast fox")
         self.assertTrue("The lazy dog crawls under the fast fox" in \
                             stderr.getvalue())
Beispiel #19
0
 def test_warn_deprecated(self):
     with override_stdouts() as (stdout, _):
         __main__._warn_deprecated("YADDA YADDA")
         self.assertIn("command is deprecated", stdout.getvalue())
         self.assertIn("YADDA YADDA", stdout.getvalue())