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()
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())
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())
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())
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()
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)
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())
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()
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()
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)
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)
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
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
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())
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())
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())