def test_output(self): """Tests whether Fypp result matches expected output.""" options = fypp.FyppOptions() argparser = fypp.get_option_parser() tool = fypp.Fypp(argparser.parse_args(args, namespace=options)) result = tool.process_text(inp) self.assertEqual(out, result)
def run(self): argparser = fypp.get_option_parser() args = [FYPP_LINENUM_FLAG] args += self.env.FYPP_FLAGS args += [FYPP_DEFINES_ST % ss for ss in self.env['DEFINES']] args += [FYPP_INCPATH_ST % ss for ss in self.env['INCLUDES']] args += [FYPP_INIFILES_ST % ss for ss in self.env['INIFILES']] args += [FYPP_MODULES_ST % ss for ss in self.env['MODULES']] opts, leftover = argparser.parse_args(args) infile = self.inputs[0].abspath() outfile = self.outputs[0].abspath() if Logs.verbose: Logs.debug('runner: fypp.Fypp %r %r %r' % (args, infile, outfile)) tool = fypp.Fypp(opts) try: tool.process_file(infile, outfile) except fypp.FyppError as err: msg = ("%s [%s:%d]" % (err.msg, err.fname, err.span[0] + 1)) raise FyppPreprocError(msg) return 0
def test_exception(self): """Tests whether Fypp throws the correct exception.""" options = fypp.FyppOptions() argparser = fypp.get_option_parser() lastexception = exceptions[0][0] with self.assertRaises(lastexception) as ctx: tool = fypp.Fypp(argparser.parse_args(args, namespace=options)) _ = tool.process_text(inp) raised = ctx.exception for exc, fname, span in exceptions: self.assertTrue(isinstance(raised, exc)) if fname is None: self.assertTrue(raised.fname is None) else: self.assertEqual(fname, raised.fname) if span is None: self.assertTrue(raised.span is None) else: self.assertEqual(span, raised.span) raised = raised.cause self.assertTrue(not isinstance(raised, fypp.FyppError))