Esempio n. 1
0
    def test_reload_float(self):
        limits_file = StringIO.StringIO("""<limits>
    <limit id="0"/>
    <limit id="1"/>
</limits>""")

        with warnings.catch_warnings(record=True) as w:
            tools._setup_limits('config.file', limits_file, do_reload=3.14)

            self.assertEqual(len(w), 0)

        self.assertEqual(self.parsed, [(0, "0"), (1, "1")])
        self.assertEqual(self.lims, ['Limit 0', 'Limit 1'])
        self.assertEqual(self.cmds, [('reload', ('spread', 3.14))])
        self.assertEqual(self.stderr.getvalue(), "")
Esempio n. 2
0
    def test_basic(self):
        limits_file = StringIO.StringIO("""<limits>
    <limit id="0"/>
    <limit id="1"/>
</limits>""")

        with warnings.catch_warnings(record=True) as w:
            tools._setup_limits('config.file', limits_file)

            self.assertEqual(len(w), 0)

        self.assertEqual(self.parsed, [(0, "0"), (1, "1")])
        self.assertEqual(self.lims, ["Limit 0", "Limit 1"])
        self.assertEqual(self.cmds, [("reload", ())])
        self.assertEqual(self.stderr.getvalue(), '')
Esempio n. 3
0
    def test_bad_tag(self):
        limits_file = StringIO.StringIO("""<limits>
    <timil id="0"/>
    <limit id="1"/>
</limits>""")

        with warnings.catch_warnings(record=True) as w:
            tools._setup_limits('config.file', limits_file)

            self.assertEqual(len(w), 1)
            self.assertIn("Unrecognized tag 'timil' in limits file at index 0",
                          w[-1].message)

        self.assertEqual(self.parsed, [(1, "1")])
        self.assertEqual(self.lims, ['Limit 1'])
        self.assertEqual(self.cmds, [('reload', ())])
        self.assertEqual(self.stderr.getvalue(), "")
Esempio n. 4
0
    def test_bad_limit(self):
        limits_file = StringIO.StringIO("""<limits>
    <limit id="0"/>
    <limit id="1"/>
    <limit id="2"/>
</limits>""")
        self.fail_idx = 1

        with warnings.catch_warnings(record=True) as w:
            tools._setup_limits('config.file', limits_file)

            self.assertEqual(len(w), 1)
            self.assertIn("Couldn't understand limit at index 1: Failed to "
                          "parse", w[-1].message)

        self.assertEqual(self.parsed, [(0, "0"), (1, "1"), (2, "2")])
        self.assertEqual(self.lims, ['Limit 0', 'Limit 2'])
        self.assertEqual(self.cmds, [('reload', ())])
        self.assertEqual(self.stderr.getvalue(), "")
Esempio n. 5
0
    def test_basic_dryrun(self):
        limits_file = StringIO.StringIO("""<limits>
    <limit id="0"/>
    <limit id="1"/>
</limits>""")

        with warnings.catch_warnings(record=True) as w:
            tools._setup_limits('config.file', limits_file, dry_run=True)

            self.assertEqual(len(w), 0)

        self.assertEqual(self.parsed, [(0, "0"), (1, "1")])
        self.assertEqual(self.lims, None)
        self.assertEqual(self.cmds, [])
        self.assertEqual(self.stderr.getvalue(),
                         "Installing the following limits:\n"
                         "  'Limit 0'\n"
                         "  'Limit 1'\n"
                         "Issuing command: reload\n")