From db7d4fd9cb7fe950b43aa6a63b28388a84c0c51b Mon Sep 17 00:00:00 2001 From: Mikhail Golubev Date: Thu, 10 Jul 2025 14:57:59 +0300 Subject: [PATCH] PY-49650 Add a regression test GitOrigin-RevId: d2ef9aa4b20905e95617d07e0483fdb34aa82444 --- .../after/cache/0a3d80f3d3/mod.py | 27 +++++++++++++++++++ .../static_method/after/sdk_skeletons/mod.py | 27 +++++++++++++++++++ .../SkeletonGeneration/static_method/mod.py | 4 +++ .../generator3_tests/test_generation.py | 6 ++++- 4 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 python/helpers/testResources/data/generator3/SkeletonGeneration/static_method/after/cache/0a3d80f3d3/mod.py create mode 100644 python/helpers/testResources/data/generator3/SkeletonGeneration/static_method/after/sdk_skeletons/mod.py create mode 100644 python/helpers/testResources/data/generator3/SkeletonGeneration/static_method/mod.py diff --git a/python/helpers/testResources/data/generator3/SkeletonGeneration/static_method/after/cache/0a3d80f3d3/mod.py b/python/helpers/testResources/data/generator3/SkeletonGeneration/static_method/after/cache/0a3d80f3d3/mod.py new file mode 100644 index 000000000000..50e4068eea51 --- /dev/null +++ b/python/helpers/testResources/data/generator3/SkeletonGeneration/static_method/after/cache/0a3d80f3d3/mod.py @@ -0,0 +1,27 @@ +# encoding: utf-8 +# module mod +# from mod.py +# by generator 1000.0 +# no doc +# no imports + +# no functions +# classes + +class C(object): + # no doc + @staticmethod + def m(): # reliably restored by inspect + # no doc + pass + + def __init__(self, *args, **kwargs): # real signature unknown + pass + + __weakref__ = property(lambda self: object(), lambda self, v: None, lambda self: None) # default + """list of weak references to the object (if defined)""" + + + __dict__ = None # (!) real value is '' + + diff --git a/python/helpers/testResources/data/generator3/SkeletonGeneration/static_method/after/sdk_skeletons/mod.py b/python/helpers/testResources/data/generator3/SkeletonGeneration/static_method/after/sdk_skeletons/mod.py new file mode 100644 index 000000000000..50e4068eea51 --- /dev/null +++ b/python/helpers/testResources/data/generator3/SkeletonGeneration/static_method/after/sdk_skeletons/mod.py @@ -0,0 +1,27 @@ +# encoding: utf-8 +# module mod +# from mod.py +# by generator 1000.0 +# no doc +# no imports + +# no functions +# classes + +class C(object): + # no doc + @staticmethod + def m(): # reliably restored by inspect + # no doc + pass + + def __init__(self, *args, **kwargs): # real signature unknown + pass + + __weakref__ = property(lambda self: object(), lambda self, v: None, lambda self: None) # default + """list of weak references to the object (if defined)""" + + + __dict__ = None # (!) real value is '' + + diff --git a/python/helpers/testResources/data/generator3/SkeletonGeneration/static_method/mod.py b/python/helpers/testResources/data/generator3/SkeletonGeneration/static_method/mod.py new file mode 100644 index 000000000000..2d83f245af89 --- /dev/null +++ b/python/helpers/testResources/data/generator3/SkeletonGeneration/static_method/mod.py @@ -0,0 +1,4 @@ +class C: + @staticmethod + def m(): + pass \ No newline at end of file diff --git a/python/helpers/testResources/generator3_tests/test_generation.py b/python/helpers/testResources/generator3_tests/test_generation.py index 9b160a47cf6b..8d25b70f49e9 100644 --- a/python/helpers/testResources/generator3_tests/test_generation.py +++ b/python/helpers/testResources/generator3_tests/test_generation.py @@ -351,6 +351,10 @@ class SkeletonGenerationTest(FunctionalGeneratorTestCase): def test_module_attributes_with_illegal_names_are_skipped(self): self.check_generator_output('mod', 'mod.py') + # PY-49650 + def test_static_method(self): + self.check_generator_output('mod', 'mod.py') + class MultiModuleGenerationTest(FunctionalGeneratorTestCase): default_generator_extra_args = ['--name-pattern', 'mod?'] @@ -592,4 +596,4 @@ class StatePassingGenerationTest(FunctionalGeneratorTestCase): '--state-file', self.resolve_in_test_data('.state.json'), '--name-pattern', 'mod*', ], - ) + ) \ No newline at end of file