From cb9dbc9b987639288b2558fd18990cccc57e7629 Mon Sep 17 00:00:00 2001 From: Filip Francetic Date: Tue, 28 Jan 2025 23:11:55 -0800 Subject: [PATCH] Change types_reflection.py to use thrift-py3 specific thrift types import Summary: Previously, thrift py3 container flatnames were made available in auto-migrate mode in D66985311, but only when imported from `.types` rather than `.thrift_types`. In `types_reflection.py` we were importing from `.thrift_types` when building in auto-migrate mode, which meant that the container flatname types were not available, which meant any code trying to introspect on containers wasn't working. Fixing this by changing the import alias to be `.types` even in auto-migrate mode. Reviewed By: yoney, prakashgayasen Differential Revision: D68756851 fbshipit-source-id: 0d26ca0a1c7bc69d55ba831bdb7b137504e3bc66 --- .../generate/templates/py3/types_reflection.py.mustache | 2 +- .../py3_auto_migrate/gen-py3/includes/types_reflection.py | 2 +- .../out/py3_auto_migrate/gen-py3/module/types_reflection.py | 2 +- .../py3_auto_migrate/gen-py3/transitive/types_reflection.py | 2 +- .../gen-py3/includes/types_reflection.py | 2 +- .../gen-py3/transitive/types_reflection.py | 2 +- .../gen-py3/includes/types_reflection.py | 2 +- .../gen-py3/module/types_reflection.py | 2 +- .../gen-py3/service/types_reflection.py | 2 +- .../gen-py3/transitive/types_reflection.py | 2 +- .../gen-py3/transitive/types_reflection.py | 2 +- .../out/py3_auto_migrate/gen-py3/module/types_reflection.py | 2 +- .../gen-py3/module/types_reflection.py | 2 +- thrift/lib/py3/test/auto_migrate/converter.py | 5 ----- thrift/lib/py3/test/auto_migrate/reflection.py | 1 - 15 files changed, 13 insertions(+), 19 deletions(-) diff --git a/thrift/compiler/generate/templates/py3/types_reflection.py.mustache b/thrift/compiler/generate/templates/py3/types_reflection.py.mustache index c69a9efbb50..dead216ef04 100644 --- a/thrift/compiler/generate/templates/py3/types_reflection.py.mustache +++ b/thrift/compiler/generate/templates/py3/types_reflection.py.mustache @@ -54,7 +54,7 @@ import {{#includeNamespace}}{{value}}.{{/includeNamespace}}types as _{{#includeN {{/hasTypes?}} {{/program:includeNamespaces}} -import {{#program:py3Namespaces}}{{value}}.{{/program:py3Namespaces}}{{program:name}}.{{> common/auto_migrate_import_prefix }}types as _{{#program:py3Namespaces}}{{value}}_{{/program:py3Namespaces}}{{program:name}}_types +import {{#program:py3Namespaces}}{{value}}.{{/program:py3Namespaces}}{{program:name}}.types as _{{#program:py3Namespaces}}{{value}}_{{/program:py3Namespaces}}{{program:name}}_types diff --git a/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate/gen-py3/includes/types_reflection.py b/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate/gen-py3/includes/types_reflection.py index bb78c1069e6..2beb3c38d13 100644 --- a/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate/gen-py3/includes/types_reflection.py +++ b/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate/gen-py3/includes/types_reflection.py @@ -21,7 +21,7 @@ import transitive.types as _transitive_types -import includes.thrift_types as _includes_types +import includes.types as _includes_types diff --git a/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate/gen-py3/module/types_reflection.py b/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate/gen-py3/module/types_reflection.py index 875102d1106..2e88f43a0c7 100644 --- a/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate/gen-py3/module/types_reflection.py +++ b/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate/gen-py3/module/types_reflection.py @@ -21,7 +21,7 @@ import includes.types as _includes_types -import module.thrift_types as _module_types +import module.types as _module_types diff --git a/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate/gen-py3/transitive/types_reflection.py b/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate/gen-py3/transitive/types_reflection.py index 5c37eec33a0..4c678741fa0 100644 --- a/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate/gen-py3/transitive/types_reflection.py +++ b/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate/gen-py3/transitive/types_reflection.py @@ -20,7 +20,7 @@ ) -import transitive.thrift_types as _transitive_types +import transitive.types as _transitive_types diff --git a/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate_includes/gen-py3/includes/types_reflection.py b/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate_includes/gen-py3/includes/types_reflection.py index 13e22b45a55..b525a2417f1 100644 --- a/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate_includes/gen-py3/includes/types_reflection.py +++ b/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate_includes/gen-py3/includes/types_reflection.py @@ -21,7 +21,7 @@ import transitive.types as _transitive_types -import includes.thrift_types as _includes_types +import includes.types as _includes_types diff --git a/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate_includes/gen-py3/transitive/types_reflection.py b/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate_includes/gen-py3/transitive/types_reflection.py index 5c37eec33a0..4c678741fa0 100644 --- a/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate_includes/gen-py3/transitive/types_reflection.py +++ b/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate_includes/gen-py3/transitive/types_reflection.py @@ -20,7 +20,7 @@ ) -import transitive.thrift_types as _transitive_types +import transitive.types as _transitive_types diff --git a/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate_service/gen-py3/includes/types_reflection.py b/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate_service/gen-py3/includes/types_reflection.py index bb78c1069e6..2beb3c38d13 100644 --- a/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate_service/gen-py3/includes/types_reflection.py +++ b/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate_service/gen-py3/includes/types_reflection.py @@ -21,7 +21,7 @@ import transitive.types as _transitive_types -import includes.thrift_types as _includes_types +import includes.types as _includes_types diff --git a/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate_service/gen-py3/module/types_reflection.py b/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate_service/gen-py3/module/types_reflection.py index 87a9e8b5e5b..e30cdfe1d90 100644 --- a/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate_service/gen-py3/module/types_reflection.py +++ b/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate_service/gen-py3/module/types_reflection.py @@ -21,7 +21,7 @@ import includes.types as _includes_types -import module.thrift_types as _module_types +import module.types as _module_types diff --git a/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate_service/gen-py3/service/types_reflection.py b/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate_service/gen-py3/service/types_reflection.py index 44f03deb682..fdd30be071d 100644 --- a/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate_service/gen-py3/service/types_reflection.py +++ b/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate_service/gen-py3/service/types_reflection.py @@ -23,7 +23,7 @@ import module.types as _module_types import transitive.types as _transitive_types -import service.thrift_types as _service_types +import service.types as _service_types diff --git a/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate_service/gen-py3/transitive/types_reflection.py b/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate_service/gen-py3/transitive/types_reflection.py index 5c37eec33a0..4c678741fa0 100644 --- a/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate_service/gen-py3/transitive/types_reflection.py +++ b/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate_service/gen-py3/transitive/types_reflection.py @@ -20,7 +20,7 @@ ) -import transitive.thrift_types as _transitive_types +import transitive.types as _transitive_types diff --git a/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate_transitive/gen-py3/transitive/types_reflection.py b/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate_transitive/gen-py3/transitive/types_reflection.py index 91e79ca45b9..b1b9e0bf5f9 100644 --- a/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate_transitive/gen-py3/transitive/types_reflection.py +++ b/thrift/compiler/test/fixtures/includes/out/py3_auto_migrate_transitive/gen-py3/transitive/types_reflection.py @@ -20,7 +20,7 @@ ) -import transitive.thrift_types as _transitive_types +import transitive.types as _transitive_types diff --git a/thrift/compiler/test/fixtures/py3/out/py3_auto_migrate/gen-py3/module/types_reflection.py b/thrift/compiler/test/fixtures/py3/out/py3_auto_migrate/gen-py3/module/types_reflection.py index 37af12ca772..4e7bbe50f7b 100644 --- a/thrift/compiler/test/fixtures/py3/out/py3_auto_migrate/gen-py3/module/types_reflection.py +++ b/thrift/compiler/test/fixtures/py3/out/py3_auto_migrate/gen-py3/module/types_reflection.py @@ -20,7 +20,7 @@ ) -import module.thrift_types as _module_types +import module.types as _module_types diff --git a/thrift/compiler/test/fixtures/py3/out/py3_auto_migrate_legacy_container_converters/gen-py3/module/types_reflection.py b/thrift/compiler/test/fixtures/py3/out/py3_auto_migrate_legacy_container_converters/gen-py3/module/types_reflection.py index 37af12ca772..4e7bbe50f7b 100644 --- a/thrift/compiler/test/fixtures/py3/out/py3_auto_migrate_legacy_container_converters/gen-py3/module/types_reflection.py +++ b/thrift/compiler/test/fixtures/py3/out/py3_auto_migrate_legacy_container_converters/gen-py3/module/types_reflection.py @@ -20,7 +20,7 @@ ) -import module.thrift_types as _module_types +import module.types as _module_types diff --git a/thrift/lib/py3/test/auto_migrate/converter.py b/thrift/lib/py3/test/auto_migrate/converter.py index 58c8b9fc08a..96060999cae 100644 --- a/thrift/lib/py3/test/auto_migrate/converter.py +++ b/thrift/lib/py3/test/auto_migrate/converter.py @@ -35,7 +35,6 @@ def brokenInAutoMigrate(): # pyre-ignore[3] unittest isn't very well typed class PyDeprecatedToPy3ConverterTest(unittest.TestCase): - @brokenInAutoMigrate() def test_simple(self) -> None: simple = py_deprecated_types.Simple( intField=42, @@ -105,19 +104,16 @@ def test_nested(self) -> None: nested.colorToSimpleMap[py3_types.Color.BLUE].color, py3_types.Color.BLUE ) - @brokenInAutoMigrate() def test_simple_union(self) -> None: simple_union = py_deprecated_types.Union(intField=42)._to_py3() self.assertEqual(simple_union.type, py3_types.Union.Type.intField) self.assertEqual(simple_union.value, 42) - @brokenInAutoMigrate() def test_union_with_py3_name_annotation(self) -> None: simple_union = py_deprecated_types.Union(name="myname")._to_py3() self.assertEqual(simple_union.type, py3_types.Union.Type.name_) self.assertEqual(simple_union.value, "myname") - @brokenInAutoMigrate() def test_union_with_containers(self) -> None: union_with_list = py_deprecated_types.Union(intList=[1, 2, 3])._to_py3() self.assertEqual(union_with_list.type, py3_types.Union.Type.intList) @@ -187,7 +183,6 @@ def test_union_with_mismatching_field(self) -> None: self.assertEqual(to.type, py3_types.Potahto.Type.to) self.assertEqual(to.value, True) - @brokenInAutoMigrate() def test_py_bad_enum(self) -> None: simple = py_deprecated_types.Simple( intField=42, diff --git a/thrift/lib/py3/test/auto_migrate/reflection.py b/thrift/lib/py3/test/auto_migrate/reflection.py index 2005eee77ed..c66a7accef9 100644 --- a/thrift/lib/py3/test/auto_migrate/reflection.py +++ b/thrift/lib/py3/test/auto_migrate/reflection.py @@ -42,7 +42,6 @@ class ReflectionTests(unittest.TestCase): # Fails due to containers not working - @brokenInAutoMigrate() def test_struct(self) -> None: x = easy(val=1, an_int=Integers(small=300), name="foo", val_list=[1, 2, 3, 4]) self.assertTrue(inspectable(x))