Skip to content

Commit

Permalink
Merge pull request #161 from iMichka/py
Browse files Browse the repository at this point in the history
Add official support for Python 3.9, 3.10, 3.11
  • Loading branch information
iMichka authored Aug 3, 2023
2 parents 1611348 + 09e4acb commit 3a5534b
Show file tree
Hide file tree
Showing 83 changed files with 246 additions and 109 deletions.
36 changes: 30 additions & 6 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,47 +11,71 @@ jobs:
- os: ubuntu-20.04
compiler: gcc
version: "9"
python-version: 3.6
python-version: "3.6"
castxml: "castxml"
castxml-epic: 0
cppstd: "-std=c++98"

- os: ubuntu-20.04
compiler: gcc
version: "9"
python-version: 3.7
python-version: "3.7"
castxml: "castxml"
castxml-epic: 0
cppstd: "-std=c++98"

- os: ubuntu-20.04
compiler: gcc
version: "9"
python-version: 3.8
python-version: "3.8"
castxml: "castxml"
castxml-epic: 0
cppstd: "-std=c++98"

- os: ubuntu-20.04
compiler: gcc
version: "9"
python-version: 3.8
python-version: "3.9"
castxml: "castxml"
castxml-epic: 0
cppstd: "-std=c++98"

- os: ubuntu-20.04
compiler: gcc
version: "9"
python-version: "3.10"
castxml: "castxml"
castxml-epic: 0
cppstd: "-std=c++98"

- os: ubuntu-20.04
compiler: gcc
version: "9"
python-version: "3.11"
castxml: "castxml"
castxml-epic: 0
cppstd: "-std=c++98"

- os: ubuntu-20.04
compiler: gcc
version: "9"
python-version: "3.8"
castxml: "castxml"
castxml-epic: 1
cppstd: "-std=c++98"

- os: ubuntu-20.04
compiler: gcc
version: "9"
python-version: 3.8
python-version: "3.8"
castxml: "castxml"
castxml-epic: 1
cppstd: "-std=c++11"

- os: macos-latest
compiler: xcode
version: "default"
python-version: 3.8
python-version: "3.8"
castxml: "castxml"
castxml-epic: 0
cppstd: "-std=c++98"
Expand Down
7 changes: 6 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
Changes
=======

Version 2.4.0
-------------

1. Add official support for `Python 3.9`, `Python 3.10`, `Python 3.11`

Version 2.3.0
-------------

1. Drop support for ```Python 3.5```
1. Drop support for `Python 3.5`

2. Make type equivalence check for string and ostream more robust (`is_std_string`, `is_std_wstring`, `is_std_ostream`, `is_std_wostream`)

Expand Down
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Install instructions can be found `here <http://pygccxml.readthedocs.io/en/maste
Compatibility
-------------

pygccxml is compatible with Python 3.6, 3.7, 3.8 and pypy3.
pygccxml is compatible with Python 3.6, 3.7, 3.8, 3.9, 3.10, 3.11 and pypy3.

Documentation and examples
--------------------------
Expand Down
3 changes: 3 additions & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,9 @@
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
"Topic :: Software Development",
Expand Down
5 changes: 3 additions & 2 deletions unittests/algorithms_cache_tester.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
from pygccxml import declarations


class algorithms_cache_tester_t(parser_test_case.parser_test_case_t):
class Test(parser_test_case.parser_test_case_t):
# tester source reader
COMPILATION_MODE = parser.COMPILATION_MODE.ALL_AT_ONCE

Expand Down Expand Up @@ -63,7 +63,8 @@ def test_access_type(self):

def create_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(algorithms_cache_tester_t))
suite.addTest(
unittest.TestLoader().loadTestsFromTestCase(testCaseClass=Test))

return suite

Expand Down
3 changes: 2 additions & 1 deletion unittests/array_bug_tester.py
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,8 @@ def test7(self):

def create_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(Test))
suite.addTest(
unittest.TestLoader().loadTestsFromTestCase(testCaseClass=Test))
return suite


Expand Down
3 changes: 2 additions & 1 deletion unittests/attributes_tester.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,8 @@ def test_attributes_thiscall(self):

def create_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(Test))
suite.addTest(
unittest.TestLoader().loadTestsFromTestCase(testCaseClass=Test))
return suite


Expand Down
3 changes: 2 additions & 1 deletion unittests/better_templates_matcher_tester.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@ def test(self):

def create_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(Test))
suite.addTest(
unittest.TestLoader().loadTestsFromTestCase(testCaseClass=Test))
return suite


Expand Down
3 changes: 2 additions & 1 deletion unittests/bit_fields_tester.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,8 @@ def test2(self):

def create_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(Test))
suite.addTest(
unittest.TestLoader().loadTestsFromTestCase(testCaseClass=Test))
return suite


Expand Down
10 changes: 3 additions & 7 deletions unittests/cache_enums_tester.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,19 +44,15 @@ def test_cache(self):
color2 = declarations.matcher.get_single(enum_matcher, decls2)
self.assertTrue(color1.values == color2.values)

# there is no progress with this parser
# class synopsis_tester_t( tester_impl_t ):
# CXX_PARSER_CFG = autoconfig.cxx_parsers_cfg.synopsis


class gccxml_tester_t(tester_impl_t):
class Test(tester_impl_t):
CXX_PARSER_CFG = autoconfig.cxx_parsers_cfg.config


def create_suite():
suite = unittest.TestSuite()
# suite.addTest( unittest.makeSuite(synopsis_tester_t))
suite.addTest(unittest.makeSuite(gccxml_tester_t))
suite.addTest(
unittest.TestLoader().loadTestsFromTestCase(testCaseClass=Test))
return suite


Expand Down
3 changes: 2 additions & 1 deletion unittests/cached_source_file_tester.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,8 @@ def test(self):

def create_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(Test))
suite.addTest(
unittest.TestLoader().loadTestsFromTestCase(testCaseClass=Test))
return suite


Expand Down
5 changes: 3 additions & 2 deletions unittests/call_invocation_tester.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
from pygccxml import declarations


class tester_t(parser_test_case.parser_test_case_t):
class Test(parser_test_case.parser_test_case_t):

def __test_split_impl(self, decl_string, name, args):
self.assertTrue(
Expand Down Expand Up @@ -90,7 +90,8 @@ def test_bug_unmatched_brace(self):

def create_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(tester_t))
suite.addTest(
unittest.TestLoader().loadTestsFromTestCase(testCaseClass=Test))
return suite


Expand Down
3 changes: 2 additions & 1 deletion unittests/calldef_matcher_tester.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@ def test(self):

def create_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(Test))
suite.addTest(
unittest.TestLoader().loadTestsFromTestCase(testCaseClass=Test))
return suite


Expand Down
3 changes: 2 additions & 1 deletion unittests/calling_convention_tester.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ def test_extract(self):

def create_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(Test))
suite.addTest(
unittest.TestLoader().loadTestsFromTestCase(testCaseClass=Test))
return suite


Expand Down
3 changes: 2 additions & 1 deletion unittests/complex_types_tester.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@ def test(self):
def create_suite():
suite = unittest.TestSuite()
if os.name != 'nt':
suite.addTest(unittest.makeSuite(Test))
suite.addTest(
unittest.TestLoader().loadTestsFromTestCase(testCaseClass=Test))
return suite


Expand Down
3 changes: 2 additions & 1 deletion unittests/const_volatile_arg_tester.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@ def test(self):

def create_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(Test))
suite.addTest(
unittest.TestLoader().loadTestsFromTestCase(testCaseClass=Test))
return suite


Expand Down
3 changes: 2 additions & 1 deletion unittests/copy_constructor_tester.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,8 @@ def test(self):

def create_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(Test))
suite.addTest(
unittest.TestLoader().loadTestsFromTestCase(testCaseClass=Test))
return suite


Expand Down
16 changes: 12 additions & 4 deletions unittests/core_tester.py
Original file line number Diff line number Diff line change
Expand Up @@ -592,10 +592,18 @@ def __init__(self, *args):

def create_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(core_all_at_once_t))
suite.addTest(unittest.makeSuite(core_all_at_once_no_opt_t))
suite.addTest(unittest.makeSuite(core_file_by_file_t))
suite.addTest(unittest.makeSuite(core_file_by_file_no_opt_t))
suite.addTest(
unittest.TestLoader().loadTestsFromTestCase(
testCaseClass=core_all_at_once_t))
suite.addTest(
unittest.TestLoader().loadTestsFromTestCase(
testCaseClass=core_all_at_once_no_opt_t))
suite.addTest(
unittest.TestLoader().loadTestsFromTestCase(
testCaseClass=core_file_by_file_t))
suite.addTest(
unittest.TestLoader().loadTestsFromTestCase(
testCaseClass=core_file_by_file_no_opt_t))
return suite


Expand Down
3 changes: 2 additions & 1 deletion unittests/decl_printer_tester.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,8 @@ def test__str__(self):

def create_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(Test))
suite.addTest(
unittest.TestLoader().loadTestsFromTestCase(testCaseClass=Test))
return suite


Expand Down
3 changes: 2 additions & 1 deletion unittests/decl_string_tester.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,8 @@ def test_all_mem_and_free_funs(self):

def create_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(Test))
suite.addTest(
unittest.TestLoader().loadTestsFromTestCase(testCaseClass=Test))
return suite


Expand Down
3 changes: 2 additions & 1 deletion unittests/declaration_files_tester.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,8 @@ def test(self):

def create_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(Test))
suite.addTest(
unittest.TestLoader().loadTestsFromTestCase(testCaseClass=Test))
return suite


Expand Down
3 changes: 2 additions & 1 deletion unittests/declaration_matcher_tester.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,8 @@ def test_ns1(self):

def create_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(Test))
suite.addTest(
unittest.TestLoader().loadTestsFromTestCase(testCaseClass=Test))
return suite


Expand Down
5 changes: 3 additions & 2 deletions unittests/declarations_cache_tester.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
from pygccxml.parser import declarations_cache


class decl_cache_tester(parser_test_case.parser_test_case_t):
class Test(parser_test_case.parser_test_case_t):

def __init__(self, *args):
parser_test_case.parser_test_case_t.__init__(self, *args)
Expand Down Expand Up @@ -162,7 +162,8 @@ def build_differing_cfg_list():

def create_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(decl_cache_tester))
suite.addTest(
unittest.TestLoader().loadTestsFromTestCase(testCaseClass=Test))
return suite


Expand Down
3 changes: 2 additions & 1 deletion unittests/declarations_comparison_tester.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,8 @@ def test_same_declarations_different_intances(self):

def create_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(Test))
suite.addTest(
unittest.TestLoader().loadTestsFromTestCase(testCaseClass=Test))
return suite


Expand Down
8 changes: 6 additions & 2 deletions unittests/declarations_tester.py
Original file line number Diff line number Diff line change
Expand Up @@ -324,8 +324,12 @@ def __init__(self, *args):

def create_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(file_by_file_tester_t))
suite.addTest(unittest.makeSuite(all_at_once_tester_t))
suite.addTest(
unittest.TestLoader().loadTestsFromTestCase(
testCaseClass=file_by_file_tester_t))
suite.addTest(
unittest.TestLoader().loadTestsFromTestCase(
testCaseClass=all_at_once_tester_t))
# if os.name == 'nt' and autoconfig.get_pdb_global_ns():
# suite.addTest( unittest.makeSuite(pdb_based_tester_t))

Expand Down
3 changes: 2 additions & 1 deletion unittests/dependencies_tester.py
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,8 @@ def test_coverage(self):

def create_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(Test))
suite.addTest(
unittest.TestLoader().loadTestsFromTestCase(testCaseClass=Test))
return suite


Expand Down
Loading

0 comments on commit 3a5534b

Please sign in to comment.