def test_execute_does_not_swallow_tracebacks(self):
        with patch.dict(Commands.methods, clear=True):
            @CommandLineParser.command.im_func()
            def boom(*args, **kwargs):
                def subboom():
                    raise IndexError("Boom!")
                subboom()

            parser = CommandLineParser()
            parser.parse(["boom"])

            try:
                parser.execute()
            except IndexError:
                _, _, exc_traceback = sys.exc_info()
                self.assertIn(
                    "subboom()\n",
                    traceback.format_exc(),
                    msg="Lost some stack frames when re-raising!",
                )
            else:
                self.fail("execute() should have raised an IndexError!")
Exemplo n.º 2
0
 def setUp(self):
     self.parser = CommandLineParser()
     self.default_dir = os.path.join("/user", get_current_username())
Exemplo n.º 3
0
 def setUp(self):
     self.parser = CommandLineParser()
     self.default_dir = os.path.join("/user", pwd.getpwuid(os.getuid())[0])