%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
# Copyright (c) Twisted Matrix Laboratories. # See LICENSE for details. """ Tests for L{twisted.runner.procmontap}. """ from twisted.python.usage import UsageError from twisted.trial import unittest from twisted.runner.procmon import ProcessMonitor from twisted.runner import procmontap as tap class ProcessMonitorTapTests(unittest.TestCase): """ Tests for L{twisted.runner.procmontap}'s option parsing and makeService method. """ def test_commandLineRequired(self): """ The command line arguments must be provided. """ opt = tap.Options() self.assertRaises(UsageError, opt.parseOptions, []) def test_threshold(self): """ The threshold option is recognised as a parameter and coerced to float. """ opt = tap.Options() opt.parseOptions(['--threshold', '7.5', 'foo']) self.assertEqual(opt['threshold'], 7.5) def test_killTime(self): """ The killtime option is recognised as a parameter and coerced to float. """ opt = tap.Options() opt.parseOptions(['--killtime', '7.5', 'foo']) self.assertEqual(opt['killtime'], 7.5) def test_minRestartDelay(self): """ The minrestartdelay option is recognised as a parameter and coerced to float. """ opt = tap.Options() opt.parseOptions(['--minrestartdelay', '7.5', 'foo']) self.assertEqual(opt['minrestartdelay'], 7.5) def test_maxRestartDelay(self): """ The maxrestartdelay option is recognised as a parameter and coerced to float. """ opt = tap.Options() opt.parseOptions(['--maxrestartdelay', '7.5', 'foo']) self.assertEqual(opt['maxrestartdelay'], 7.5) def test_parameterDefaults(self): """ The parameters all have default values """ opt = tap.Options() opt.parseOptions(['foo']) self.assertEqual(opt['threshold'], 1) self.assertEqual(opt['killtime'], 5) self.assertEqual(opt['minrestartdelay'], 1) self.assertEqual(opt['maxrestartdelay'], 3600) def test_makeService(self): """ The command line gets added as a process to the ProcessMontor. """ opt = tap.Options() opt.parseOptions(['ping', '-c', '3', '8.8.8.8']) s = tap.makeService(opt) self.assertIsInstance(s, ProcessMonitor) self.assertIn('ping -c 3 8.8.8.8', s.processes)