dbtsai commented on code in PR #110: URL: https://github.com/apache/spark-connect-rust/pull/110#discussion_r4433482611
########## python/tests/day_time_interval_cases.py: ########## @@ -0,0 +1,248 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +"""SPARK-60607: exact day-time interval results, without a JVM. + +The small gRPC fixture sends real Arrow IPC and just the protobuf envelopes +needed by these tests. It does not depend on the reference PySpark package +(which occupies the same import namespace as this client). + +Envelopes and logical types are generated from the vendored Spark Connect protos +using protoc, which is also required to build the Rust client. +""" + +from concurrent.futures import ThreadPoolExecutor +from datetime import timedelta +import unittest +import os +from pathlib import Path +import shutil +import subprocess +import tempfile + +from google.protobuf import descriptor_pb2, descriptor_pool, message_factory Review Comment: Fixed in 32f9a7f. Moved the `google.protobuf` import into the existing optional-dependency guard and added protobuf to the class skip reason. Missing `protoc` now raises `unittest.SkipTest`; resolving `PROTOC` with `shutil.which` also handles an override pointing to a missing executable. Actual compiler/proto errors still fail rather than being hidden as skips. Verified the full offline suite with dependencies present (274 passed, 1 unrelated skip), with protobuf imports blocked (273 passed, only the two interval tests skipped), and with an invalid `PROTOC` override (273 passed, two interval skips). With `PROTOC` unset and no protoc on PATH, both interval tests also skip cleanly. The 389 Rust unit tests, full default/wasm-udf test compilation, extension build and rustfmt checks passed. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
