From 6e93675c666dcd55b5a2ecac34840b3e2cd33382 Mon Sep 17 00:00:00 2001 From: Yuchao Yan Date: Fri, 12 Jul 2024 12:03:23 +0800 Subject: [PATCH] Multiapi test gen otpimization (#2692) * optimize test generation for multiapi * changelog --- .chronus/changes/multiapi-test-gen-2024-6-11-18-2-26.md | 7 +++++++ .../generator/pygen/codegen/serializers/__init__.py | 4 ++++ 2 files changed, 11 insertions(+) create mode 100644 .chronus/changes/multiapi-test-gen-2024-6-11-18-2-26.md diff --git a/.chronus/changes/multiapi-test-gen-2024-6-11-18-2-26.md b/.chronus/changes/multiapi-test-gen-2024-6-11-18-2-26.md new file mode 100644 index 0000000000..c11157b984 --- /dev/null +++ b/.chronus/changes/multiapi-test-gen-2024-6-11-18-2-26.md @@ -0,0 +1,7 @@ +--- +changeKind: feature +packages: + - "@azure-tools/typespec-python" +--- + +Optimize test generation for multiapi package \ No newline at end of file diff --git a/packages/typespec-python/generator/pygen/codegen/serializers/__init__.py b/packages/typespec-python/generator/pygen/codegen/serializers/__init__.py index 90c0ce6094..6c78d6483a 100644 --- a/packages/typespec-python/generator/pygen/codegen/serializers/__init__.py +++ b/packages/typespec-python/generator/pygen/codegen/serializers/__init__.py @@ -555,6 +555,10 @@ def _serialize_and_write_test(self, env: Environment, namespace_path: Path): for client in self.code_model.clients: for og in client.operation_groups: + if self.code_model.options["multiapi"] and any( + o.api_versions[0] != self.code_model.options["default_api_version"] for o in og.operations + ): + continue test_serializer = TestSerializer(self.code_model, env, client=client, operation_group=og) for is_async in (True, False): try: