python-easyargs fails to build with Python 3.11.0a2. =================================== FAILURES =================================== ___________ TestDecorator.test_can_handle_function_with_no_arguments ___________ self = <test_parsers.TestDecorator testMethod=test_can_handle_function_with_no_arguments> def test_can_handle_function_with_no_arguments(self): @easyargs def main_with_no_args(): pass with mock.patch('sys.argv', [__name__]): > main_with_no_args() test/test_parsers.py:71: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/decorators.py:12: in decorated parsers.function_parser(f, parser) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ function = <function TestDecorator.test_can_handle_function_with_no_arguments.<locals>.main_with_no_args at 0x7f40ccc718a0> parser = ArgumentParser(prog='test_parsers', usage=None, description=None, formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=True) def function_parser(function, parser): """This function parses a function and adds its arguments to the supplied parser""" # Store the function pointer on the parser for later use parser.set_defaults(func=function) # Get the help text and parse it for params help_text = inspect.getdoc(function) main_text, params_help = parser_help_text(help_text) # Get the function information > args, varargs, keywords, defaults = inspect.getargspec(function) E AttributeError: module 'inspect' has no attribute 'getargspec' ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:108: AttributeError _______ TestDecorator.test_can_handle_functions_with_only_optional_args ________ self = <test_parsers.TestDecorator testMethod=test_can_handle_functions_with_only_optional_args> def test_can_handle_functions_with_only_optional_args(self): @easyargs def main_with_only_opt_args(arg1=None, arg2=None, arg3=None): pass with mock.patch('sys.argv', [__name__, '--arg1', '1', '--arg3', '3', '--arg2', '2']): > main_with_only_opt_args() test/test_parsers.py:87: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/decorators.py:12: in decorated parsers.function_parser(f, parser) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ function = <function TestDecorator.test_can_handle_functions_with_only_optional_args.<locals>.main_with_only_opt_args at 0x7f40ccc711c0> parser = ArgumentParser(prog='test_parsers', usage=None, description=None, formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=True) def function_parser(function, parser): """This function parses a function and adds its arguments to the supplied parser""" # Store the function pointer on the parser for later use parser.set_defaults(func=function) # Get the help text and parse it for params help_text = inspect.getdoc(function) main_text, params_help = parser_help_text(help_text) # Get the function information > args, varargs, keywords, defaults = inspect.getargspec(function) E AttributeError: module 'inspect' has no attribute 'getargspec' ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:108: AttributeError ______ TestDecorator.test_can_handle_functions_with_only_positional_args _______ self = <test_parsers.TestDecorator testMethod=test_can_handle_functions_with_only_positional_args> def test_can_handle_functions_with_only_positional_args(self): @easyargs def main_with_only_pos_args(arg1, arg2, arg3): pass with mock.patch('sys.argv', [__name__, 'a1', 'a2', 'a3']): > main_with_only_pos_args() test/test_parsers.py:79: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/decorators.py:12: in decorated parsers.function_parser(f, parser) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ function = <function TestDecorator.test_can_handle_functions_with_only_positional_args.<locals>.main_with_only_pos_args at 0x7f40ccdb7600> parser = ArgumentParser(prog='test_parsers', usage=None, description=None, formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=True) def function_parser(function, parser): """This function parses a function and adds its arguments to the supplied parser""" # Store the function pointer on the parser for later use parser.set_defaults(func=function) # Get the help text and parse it for params help_text = inspect.getdoc(function) main_text, params_help = parser_help_text(help_text) # Get the function information > args, varargs, keywords, defaults = inspect.getargspec(function) E AttributeError: module 'inspect' has no attribute 'getargspec' ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:108: AttributeError ______________________ TestDecorator.test_with_no_options ______________________ self = <test_parsers.TestDecorator testMethod=test_with_no_options> def test_with_no_options(self): @easyargs def main_test_case_no_options(foo, bar=1): pass with mock.patch('sys.argv', [__name__, 'foo_value']): > main_test_case_no_options() test/test_parsers.py:55: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/decorators.py:12: in decorated parsers.function_parser(f, parser) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ function = <function TestDecorator.test_with_no_options.<locals>.main_test_case_no_options at 0x7f40cce23600> parser = ArgumentParser(prog='test_parsers', usage=None, description=None, formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=True) def function_parser(function, parser): """This function parses a function and adds its arguments to the supplied parser""" # Store the function pointer on the parser for later use parser.set_defaults(func=function) # Get the help text and parse it for params help_text = inspect.getdoc(function) main_text, params_help = parser_help_text(help_text) # Get the function information > args, varargs, keywords, defaults = inspect.getargspec(function) E AttributeError: module 'inspect' has no attribute 'getargspec' ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:108: AttributeError _______________________ TestDecorator.test_with_options ________________________ self = <test_parsers.TestDecorator testMethod=test_with_options> def test_with_options(self): @easyargs() def main_test_case_with_options(foo, bar=1): pass with mock.patch('sys.argv', [__name__, 'bar_value']): > main_test_case_with_options() test/test_parsers.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/decorators.py:12: in decorated parsers.function_parser(f, parser) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ function = <function TestDecorator.test_with_options.<locals>.main_test_case_with_options at 0x7f40ccc736a0> parser = ArgumentParser(prog='test_parsers', usage=None, description=None, formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=True) def function_parser(function, parser): """This function parses a function and adds its arguments to the supplied parser""" # Store the function pointer on the parser for later use parser.set_defaults(func=function) # Get the help text and parse it for params help_text = inspect.getdoc(function) main_text, params_help = parser_help_text(help_text) # Get the function information > args, varargs, keywords, defaults = inspect.getargspec(function) E AttributeError: module 'inspect' has no attribute 'getargspec' ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:108: AttributeError ______________________ TestSampleInterfaces.test_example _______________________ self = <test_parsers.TestSampleInterfaces testMethod=test_example> def test_example(self): @easyargs(auto_call=False) def main(name, count=1, greeting='Hello'): """A simple greeting program""" pass > parser = main() test/test_parsers.py:110: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/decorators.py:12: in decorated parsers.function_parser(f, parser) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ function = <function TestSampleInterfaces.test_example.<locals>.main at 0x7f40ccc70b80> parser = ArgumentParser(prog='py.test-3.11', usage=None, description='A simple greeting program', formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=True) def function_parser(function, parser): """This function parses a function and adds its arguments to the supplied parser""" # Store the function pointer on the parser for later use parser.set_defaults(func=function) # Get the help text and parse it for params help_text = inspect.getdoc(function) main_text, params_help = parser_help_text(help_text) # Get the function information > args, varargs, keywords, defaults = inspect.getargspec(function) E AttributeError: module 'inspect' has no attribute 'getargspec' ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:108: AttributeError ____________ TestSampleInterfaces.test_function_is_actually_called _____________ self = <test_parsers.TestSampleInterfaces testMethod=test_function_is_actually_called> def test_function_is_actually_called(self): called = mock.MagicMock() @easyargs def main(name, count=1, greeting='Hello'): called(name, count, greeting) with mock.patch('sys.argv', [__name__, 'Joe']): > main() test/test_parsers.py:100: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/decorators.py:12: in decorated parsers.function_parser(f, parser) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ function = <function TestSampleInterfaces.test_function_is_actually_called.<locals>.main at 0x7f40ccc73f60> parser = ArgumentParser(prog='test_parsers', usage=None, description=None, formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=True) def function_parser(function, parser): """This function parses a function and adds its arguments to the supplied parser""" # Store the function pointer on the parser for later use parser.set_defaults(func=function) # Get the help text and parse it for params help_text = inspect.getdoc(function) main_text, params_help = parser_help_text(help_text) # Get the function information > args, varargs, keywords, defaults = inspect.getargspec(function) E AttributeError: module 'inspect' has no attribute 'getargspec' ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:108: AttributeError ________________ TestGitCloneExample.test_commit_add_no_message ________________ self = <test_parsers.TestGitCloneExample testMethod=test_commit_add_no_message> def test_commit_add_no_message(self): """This tests the equivalent of git commit -a""" > stdout, stderr = parser_test_helper(self.parser, self.function_called, ['commit', '-a'], (True, None, False), False) test/test_parsers.py:183: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/test_parsers.py:42: in parser_test_helper stdout, stderr = handle_parser_call() /usr/lib/python3.11/site-packages/mock/mock.py:1330: in patched return func(*args, **keywargs) test/test_parsers.py:30: in handle_parser_call parser() ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/decorators.py:15: in decorated parsers.class_parser(klass_instance, parser) ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:152: in class_parser function_parser(method, method_parser) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ function = <bound method TestGitCloneExample.setUp.<locals>.GitClone.clone of <test_parsers.TestGitCloneExample.setUp.<locals>.GitClone object at 0x7f40ccc27080>> parser = ArgumentParser(prog='test_parsers clone', usage=None, description=None, formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=True) def function_parser(function, parser): """This function parses a function and adds its arguments to the supplied parser""" # Store the function pointer on the parser for later use parser.set_defaults(func=function) # Get the help text and parse it for params help_text = inspect.getdoc(function) main_text, params_help = parser_help_text(help_text) # Get the function information > args, varargs, keywords, defaults = inspect.getargspec(function) E AttributeError: module 'inspect' has no attribute 'getargspec' ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:108: AttributeError ________________ TestGitCloneExample.test_commit_no_parameters _________________ self = <test_parsers.TestGitCloneExample testMethod=test_commit_no_parameters> def test_commit_no_parameters(self): """This tests just the commit parameters i.e. git commit""" > stdout, stderr = parser_test_helper(self.parser, self.function_called, ['commit'], (False, None, False), False) test/test_parsers.py:175: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/test_parsers.py:42: in parser_test_helper stdout, stderr = handle_parser_call() /usr/lib/python3.11/site-packages/mock/mock.py:1330: in patched return func(*args, **keywargs) test/test_parsers.py:30: in handle_parser_call parser() ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/decorators.py:15: in decorated parsers.class_parser(klass_instance, parser) ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:152: in class_parser function_parser(method, method_parser) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ function = <bound method TestGitCloneExample.setUp.<locals>.GitClone.clone of <test_parsers.TestGitCloneExample.setUp.<locals>.GitClone object at 0x7f40cccec980>> parser = ArgumentParser(prog='test_parsers clone', usage=None, description=None, formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=True) def function_parser(function, parser): """This function parses a function and adds its arguments to the supplied parser""" # Store the function pointer on the parser for later use parser.set_defaults(func=function) # Get the help text and parse it for params help_text = inspect.getdoc(function) main_text, params_help = parser_help_text(help_text) # Get the function information > args, varargs, keywords, defaults = inspect.getargspec(function) E AttributeError: module 'inspect' has no attribute 'getargspec' ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:108: AttributeError _______________ TestGitCloneExample.test_commit_with_all_options _______________ self = <test_parsers.TestGitCloneExample testMethod=test_commit_with_all_options> def test_commit_with_all_options(self): """This is the equivalent to git commit -am "Foo" --amend""" > stdout, stderr = parser_test_helper(self.parser, self.function_called, ['commit', '-am', 'Foo', '--amend'], (True, 'Foo', True), False) test/test_parsers.py:207: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/test_parsers.py:42: in parser_test_helper stdout, stderr = handle_parser_call() /usr/lib/python3.11/site-packages/mock/mock.py:1330: in patched return func(*args, **keywargs) test/test_parsers.py:30: in handle_parser_call parser() ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/decorators.py:15: in decorated parsers.class_parser(klass_instance, parser) ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:152: in class_parser function_parser(method, method_parser) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ function = <bound method TestGitCloneExample.setUp.<locals>.GitClone.clone of <test_parsers.TestGitCloneExample.setUp.<locals>.GitClone object at 0x7f40ccc9a540>> parser = ArgumentParser(prog='test_parsers clone', usage=None, description=None, formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=True) def function_parser(function, parser): """This function parses a function and adds its arguments to the supplied parser""" # Store the function pointer on the parser for later use parser.set_defaults(func=function) # Get the help text and parse it for params help_text = inspect.getdoc(function) main_text, params_help = parser_help_text(help_text) # Get the function information > args, varargs, keywords, defaults = inspect.getargspec(function) E AttributeError: module 'inspect' has no attribute 'getargspec' ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:108: AttributeError _______________ TestGitCloneExample.test_commit_with_amend_flag ________________ self = <test_parsers.TestGitCloneExample testMethod=test_commit_with_amend_flag> def test_commit_with_amend_flag(self): """This is the equivalent to git commit --amend""" > stdout, stderr = parser_test_helper(self.parser, self.function_called, ['commit', '--amend'], (False, None, True), False) test/test_parsers.py:199: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/test_parsers.py:42: in parser_test_helper stdout, stderr = handle_parser_call() /usr/lib/python3.11/site-packages/mock/mock.py:1330: in patched return func(*args, **keywargs) test/test_parsers.py:30: in handle_parser_call parser() ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/decorators.py:15: in decorated parsers.class_parser(klass_instance, parser) ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:152: in class_parser function_parser(method, method_parser) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ function = <bound method TestGitCloneExample.setUp.<locals>.GitClone.clone of <test_parsers.TestGitCloneExample.setUp.<locals>.GitClone object at 0x7f40ccd05780>> parser = ArgumentParser(prog='test_parsers clone', usage=None, description=None, formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=True) def function_parser(function, parser): """This function parses a function and adds its arguments to the supplied parser""" # Store the function pointer on the parser for later use parser.set_defaults(func=function) # Get the help text and parse it for params help_text = inspect.getdoc(function) main_text, params_help = parser_help_text(help_text) # Get the function information > args, varargs, keywords, defaults = inspect.getargspec(function) E AttributeError: module 'inspect' has no attribute 'getargspec' ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:108: AttributeError _________________ TestGitCloneExample.test_commit_with_message _________________ self = <test_parsers.TestGitCloneExample testMethod=test_commit_with_message> def test_commit_with_message(self): """This tests the equivalent of git commit -m "message" """ > stdout, stderr = parser_test_helper(self.parser, self.function_called, ['commit', '-m', 'This is my message'], (False, 'This is my message', False), False) test/test_parsers.py:191: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/test_parsers.py:42: in parser_test_helper stdout, stderr = handle_parser_call() /usr/lib/python3.11/site-packages/mock/mock.py:1330: in patched return func(*args, **keywargs) test/test_parsers.py:30: in handle_parser_call parser() ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/decorators.py:15: in decorated parsers.class_parser(klass_instance, parser) ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:152: in class_parser function_parser(method, method_parser) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ function = <bound method TestGitCloneExample.setUp.<locals>.GitClone.clone of <test_parsers.TestGitCloneExample.setUp.<locals>.GitClone object at 0x7f40ccc549c0>> parser = ArgumentParser(prog='test_parsers clone', usage=None, description=None, formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=True) def function_parser(function, parser): """This function parses a function and adds its arguments to the supplied parser""" # Store the function pointer on the parser for later use parser.set_defaults(func=function) # Get the help text and parse it for params help_text = inspect.getdoc(function) main_text, params_help = parser_help_text(help_text) # Get the function information > args, varargs, keywords, defaults = inspect.getargspec(function) E AttributeError: module 'inspect' has no attribute 'getargspec' ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:108: AttributeError ______________________ TestGitCloneExample.test_help_text ______________________ self = <test_parsers.TestGitCloneExample testMethod=test_help_text> def test_help_text(self): > stdout, stderr = parser_test_helper(self.parser, self.function_called, ['-h'], None, True) test/test_parsers.py:143: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/test_parsers.py:42: in parser_test_helper stdout, stderr = handle_parser_call() /usr/lib/python3.11/site-packages/mock/mock.py:1330: in patched return func(*args, **keywargs) test/test_parsers.py:30: in handle_parser_call parser() ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/decorators.py:15: in decorated parsers.class_parser(klass_instance, parser) ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:152: in class_parser function_parser(method, method_parser) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ function = <bound method TestGitCloneExample.setUp.<locals>.GitClone.clone of <test_parsers.TestGitCloneExample.setUp.<locals>.GitClone object at 0x7f40ccc5a1c0>> parser = ArgumentParser(prog='test_parsers clone', usage=None, description=None, formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=True) def function_parser(function, parser): """This function parses a function and adds its arguments to the supplied parser""" # Store the function pointer on the parser for later use parser.set_defaults(func=function) # Get the help text and parse it for params help_text = inspect.getdoc(function) main_text, params_help = parser_help_text(help_text) # Get the function information > args, varargs, keywords, defaults = inspect.getargspec(function) E AttributeError: module 'inspect' has no attribute 'getargspec' ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:108: AttributeError ______________ TestGitCloneExample.test_invalid_clone_parameters _______________ self = <test_parsers.TestGitCloneExample testMethod=test_invalid_clone_parameters> def test_invalid_clone_parameters(self): """Make sure that an error is raised when not enough arguments are parsed""" > stdout, stderr = parser_test_helper(self.parser, self.function_called, ['clone'], None, True) test/test_parsers.py:163: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/test_parsers.py:42: in parser_test_helper stdout, stderr = handle_parser_call() /usr/lib/python3.11/site-packages/mock/mock.py:1330: in patched return func(*args, **keywargs) test/test_parsers.py:30: in handle_parser_call parser() ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/decorators.py:15: in decorated parsers.class_parser(klass_instance, parser) ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:152: in class_parser function_parser(method, method_parser) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ function = <bound method TestGitCloneExample.setUp.<locals>.GitClone.clone of <test_parsers.TestGitCloneExample.setUp.<locals>.GitClone object at 0x7f40ccb91e80>> parser = ArgumentParser(prog='test_parsers clone', usage=None, description=None, formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=True) def function_parser(function, parser): """This function parses a function and adds its arguments to the supplied parser""" # Store the function pointer on the parser for later use parser.set_defaults(func=function) # Get the help text and parse it for params help_text = inspect.getdoc(function) main_text, params_help = parser_help_text(help_text) # Get the function information > args, varargs, keywords, defaults = inspect.getargspec(function) E AttributeError: module 'inspect' has no attribute 'getargspec' ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:108: AttributeError ____________________ TestGitCloneExample.test_simple_clone _____________________ self = <test_parsers.TestGitCloneExample testMethod=test_simple_clone> def test_simple_clone(self): """A test to ensure that basic argument parsing works""" > parser_test_helper(self.parser, self.function_called, ['clone', 'git/user/repo'], ('git/user/repo', None), False) test/test_parsers.py:155: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/test_parsers.py:42: in parser_test_helper stdout, stderr = handle_parser_call() /usr/lib/python3.11/site-packages/mock/mock.py:1330: in patched return func(*args, **keywargs) test/test_parsers.py:30: in handle_parser_call parser() ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/decorators.py:15: in decorated parsers.class_parser(klass_instance, parser) ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:152: in class_parser function_parser(method, method_parser) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ function = <bound method TestGitCloneExample.setUp.<locals>.GitClone.clone of <test_parsers.TestGitCloneExample.setUp.<locals>.GitClone object at 0x7f40ccd13b40>> parser = ArgumentParser(prog='test_parsers clone', usage=None, description=None, formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=True) def function_parser(function, parser): """This function parses a function and adds its arguments to the supplied parser""" # Store the function pointer on the parser for later use parser.set_defaults(func=function) # Get the help text and parse it for params help_text = inspect.getdoc(function) main_text, params_help = parser_help_text(help_text) # Get the function information > args, varargs, keywords, defaults = inspect.getargspec(function) E AttributeError: module 'inspect' has no attribute 'getargspec' ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:108: AttributeError ________________ TestParsersWithArgHelpers.test_clone_help_text ________________ self = <test_parsers.TestParsersWithArgHelpers testMethod=test_clone_help_text> def test_clone_help_text(self): > stdout, stderr = parser_test_helper(self.parser, self.function_called, ['clone', '-h'], None, True) test/test_parsers.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/test_parsers.py:42: in parser_test_helper stdout, stderr = handle_parser_call() /usr/lib/python3.11/site-packages/mock/mock.py:1330: in patched return func(*args, **keywargs) test/test_parsers.py:30: in handle_parser_call parser() ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/decorators.py:15: in decorated parsers.class_parser(klass_instance, parser) ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:152: in class_parser function_parser(method, method_parser) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ function = <bound method TestParsersWithArgHelpers.setUp.<locals>.GitClone.clone of <test_parsers.TestParsersWithArgHelpers.setUp.<locals>.GitClone object at 0x7f40cd47f740>> parser = ArgumentParser(prog='test_parsers clone', usage=None, description=None, formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=True) def function_parser(function, parser): """This function parses a function and adds its arguments to the supplied parser""" # Store the function pointer on the parser for later use parser.set_defaults(func=function) # Get the help text and parse it for params help_text = inspect.getdoc(function) main_text, params_help = parser_help_text(help_text) # Get the function information > args, varargs, keywords, defaults = inspect.getargspec(function) E AttributeError: module 'inspect' has no attribute 'getargspec' ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:108: AttributeError ________ TestParsersWithArgHelpers.test_commit_help_text_missing_parser ________ self = <test_parsers.TestParsersWithArgHelpers testMethod=test_commit_help_text_missing_parser> def test_commit_help_text_missing_parser(self): > stdout, stderr = parser_test_helper(self.parser, self.function_called, ['commit', '-h'], None, True) test/test_parsers.py:268: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/test_parsers.py:42: in parser_test_helper stdout, stderr = handle_parser_call() /usr/lib/python3.11/site-packages/mock/mock.py:1330: in patched return func(*args, **keywargs) test/test_parsers.py:30: in handle_parser_call parser() ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/decorators.py:15: in decorated parsers.class_parser(klass_instance, parser) ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:152: in class_parser function_parser(method, method_parser) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ function = <bound method TestParsersWithArgHelpers.setUp.<locals>.GitClone.clone of <test_parsers.TestParsersWithArgHelpers.setUp.<locals>.GitClone object at 0x7f40ccb3afc0>> parser = ArgumentParser(prog='test_parsers clone', usage=None, description=None, formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=True) def function_parser(function, parser): """This function parses a function and adds its arguments to the supplied parser""" # Store the function pointer on the parser for later use parser.set_defaults(func=function) # Get the help text and parse it for params help_text = inspect.getdoc(function) main_text, params_help = parser_help_text(help_text) # Get the function information > args, varargs, keywords, defaults = inspect.getargspec(function) E AttributeError: module 'inspect' has no attribute 'getargspec' ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:108: AttributeError _________ TestParsersWithArgHelpers.test_param_info_removed_from_help __________ self = <test_parsers.TestParsersWithArgHelpers testMethod=test_param_info_removed_from_help> def test_param_info_removed_from_help(self): > stdout, stderr = parser_test_helper(self.parser, self.function_called, ['-h'], None, True) test/test_parsers.py:242: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/test_parsers.py:42: in parser_test_helper stdout, stderr = handle_parser_call() /usr/lib/python3.11/site-packages/mock/mock.py:1330: in patched return func(*args, **keywargs) test/test_parsers.py:30: in handle_parser_call parser() ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/decorators.py:15: in decorated parsers.class_parser(klass_instance, parser) ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:152: in class_parser function_parser(method, method_parser) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ function = <bound method TestParsersWithArgHelpers.setUp.<locals>.GitClone.clone of <test_parsers.TestParsersWithArgHelpers.setUp.<locals>.GitClone object at 0x7f40ccbe5740>> parser = ArgumentParser(prog='test_parsers clone', usage=None, description=None, formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=True) def function_parser(function, parser): """This function parses a function and adds its arguments to the supplied parser""" # Store the function pointer on the parser for later use parser.set_defaults(func=function) # Get the help text and parse it for params help_text = inspect.getdoc(function) main_text, params_help = parser_help_text(help_text) # Get the function information > args, varargs, keywords, defaults = inspect.getargspec(function) E AttributeError: module 'inspect' has no attribute 'getargspec' ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:108: AttributeError _______ TestParsersWithPoorFormattedArgParsers.test_doc_text_formatting ________ self = <test_parsers.TestParsersWithPoorFormattedArgParsers testMethod=test_doc_text_formatting> def test_doc_text_formatting(self): > stdout, stderr = parser_test_helper(self.parser, self.function_called, ['-h'], None, True) test/test_parsers.py:298: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/test_parsers.py:42: in parser_test_helper stdout, stderr = handle_parser_call() /usr/lib/python3.11/site-packages/mock/mock.py:1330: in patched return func(*args, **keywargs) test/test_parsers.py:30: in handle_parser_call parser() ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/decorators.py:12: in decorated parsers.function_parser(f, parser) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ function = <function TestParsersWithPoorFormattedArgParsers.setUp.<locals>.poor_formatting at 0x7f40cca6e5c0> parser = ArgumentParser(prog='test_parsers', usage=None, description='Clone a repository', formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=True) def function_parser(function, parser): """This function parses a function and adds its arguments to the supplied parser""" # Store the function pointer on the parser for later use parser.set_defaults(func=function) # Get the help text and parse it for params help_text = inspect.getdoc(function) main_text, params_help = parser_help_text(help_text) # Get the function information > args, varargs, keywords, defaults = inspect.getargspec(function) E AttributeError: module 'inspect' has no attribute 'getargspec' ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:108: AttributeError ______________ TestFunctionValueReturned.test_a_value_is_returned ______________ self = <test_parsers.TestFunctionValueReturned testMethod=test_a_value_is_returned> @mock.patch('sys.argv', [__name__]) def test_a_value_is_returned(self): > result = self.parser() test/test_parsers.py:320: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/decorators.py:12: in decorated parsers.function_parser(f, parser) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ function = <function TestFunctionValueReturned.setUp.<locals>.return_some_value at 0x7f40ccb2b600> parser = ArgumentParser(prog='test_parsers', usage=None, description=None, formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=True) def function_parser(function, parser): """This function parses a function and adds its arguments to the supplied parser""" # Store the function pointer on the parser for later use parser.set_defaults(func=function) # Get the help text and parse it for params help_text = inspect.getdoc(function) main_text, params_help = parser_help_text(help_text) # Get the function information > args, varargs, keywords, defaults = inspect.getargspec(function) E AttributeError: module 'inspect' has no attribute 'getargspec' ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:108: AttributeError ________ TestValueReturnedWhenNotUsingAutoCall.test_a_value_is_returned ________ self = <test_parsers.TestValueReturnedWhenNotUsingAutoCall testMethod=test_a_value_is_returned> @mock.patch('sys.argv', [__name__]) def test_a_value_is_returned(self): > parser = self.parser() test/test_parsers.py:336: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/decorators.py:12: in decorated parsers.function_parser(f, parser) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ function = <function TestValueReturnedWhenNotUsingAutoCall.setUp.<locals>.return_some_value at 0x7f40ccb29080> parser = ArgumentParser(prog='test_parsers', usage=None, description=None, formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=True) def function_parser(function, parser): """This function parses a function and adds its arguments to the supplied parser""" # Store the function pointer on the parser for later use parser.set_defaults(func=function) # Get the help text and parse it for params help_text = inspect.getdoc(function) main_text, params_help = parser_help_text(help_text) # Get the function information > args, varargs, keywords, defaults = inspect.getargspec(function) E AttributeError: module 'inspect' has no attribute 'getargspec' ../../BUILDROOT/python-easyargs-0.9.4-16.fc36.x86_64/usr/lib/python3.11/site-packages/easyargs/parsers.py:108: AttributeError =========================== short test summary info ============================ FAILED test/test_parsers.py::TestDecorator::test_can_handle_function_with_no_arguments FAILED test/test_parsers.py::TestDecorator::test_can_handle_functions_with_only_optional_args FAILED test/test_parsers.py::TestDecorator::test_can_handle_functions_with_only_positional_args FAILED test/test_parsers.py::TestDecorator::test_with_no_options - AttributeE... FAILED test/test_parsers.py::TestDecorator::test_with_options - AttributeErro... FAILED test/test_parsers.py::TestSampleInterfaces::test_example - AttributeEr... FAILED test/test_parsers.py::TestSampleInterfaces::test_function_is_actually_called FAILED test/test_parsers.py::TestGitCloneExample::test_commit_add_no_message FAILED test/test_parsers.py::TestGitCloneExample::test_commit_no_parameters FAILED test/test_parsers.py::TestGitCloneExample::test_commit_with_all_options FAILED test/test_parsers.py::TestGitCloneExample::test_commit_with_amend_flag FAILED test/test_parsers.py::TestGitCloneExample::test_commit_with_message - ... FAILED test/test_parsers.py::TestGitCloneExample::test_help_text - AttributeE... FAILED test/test_parsers.py::TestGitCloneExample::test_invalid_clone_parameters FAILED test/test_parsers.py::TestGitCloneExample::test_simple_clone - Attribu... FAILED test/test_parsers.py::TestParsersWithArgHelpers::test_clone_help_text FAILED test/test_parsers.py::TestParsersWithArgHelpers::test_commit_help_text_missing_parser FAILED test/test_parsers.py::TestParsersWithArgHelpers::test_param_info_removed_from_help FAILED test/test_parsers.py::TestParsersWithPoorFormattedArgParsers::test_doc_text_formatting FAILED test/test_parsers.py::TestFunctionValueReturned::test_a_value_is_returned FAILED test/test_parsers.py::TestValueReturnedWhenNotUsingAutoCall::test_a_value_is_returned ========================= 21 failed, 4 passed in 0.71s ========================= Removed from the inspect module: the getargspec function, deprecated since Python 3.0; use inspect.signature() or inspect.getfullargspec() instead. https://bugs.python.org/issue45320 https://docs.python.org/3.11/whatsnew/3.11.html For the build logs, see: https://copr-be.cloud.fedoraproject.org/results/@python/python3.11/fedora-rawhide-x86_64/02939859-python-easyargs/ For all our attempts to build python-easyargs with Python 3.11, see: https://copr.fedorainfracloud.org/coprs/g/python/python3.11/package/python-easyargs/ Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.11: https://copr.fedorainfracloud.org/coprs/g/python/python3.11/ Let us know here if you have any questions. Python 3.11 is planned to be included in Fedora 37. To make that update smoother, we're building Fedora packages with all pre-releases of Python 3.11. A build failure prevents us from testing all dependent packages (transitive [Build]Requires), so if this package is required a lot, it's important for us to get it fixed soon. We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side.
This bug appears to have been reported against 'rawhide' during the Fedora 36 development cycle. Changing version to 36.
F36 is sticking with Python 3.10, so moving this back to Rawhide.
FEDORA-2022-60f9796602 has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2022-60f9796602
FEDORA-2022-60f9796602 has been pushed to the Fedora 37 stable repository. If problem still persists, please make note of it in this bug report.