blob: bbb7556c212b017b46c8d1d9db4a7eee2d3d7418 [file]
# Coverage scope for the pyspark drop-in's hand-written Python shim.
# The bulk of the client is the compiled Rust extension (_pyspark); this measures
# the Python glue only, excluding vendored third-party code (cloudpickle), the
# test-support utilities, pandas-on-spark, generated wrappers, and the compiled
# extension itself.
[run]
source = pyspark
branch = True
# The badge scopes to the core DataFrame/SQL drop-in shim exercised by the
# offline suite. Vendored third-party code (cloudpickle), generated wrappers,
# the compiled extension, and subsystems with their own (server-backed) tests
# rather than offline unit tests (streaming, resource, ml, the pickling
# serializers, datasource) are omitted so the number reflects the code this
# suite actually drives.
omit =
# Vendored upstream code (byte-identical to Apache Spark, enforced by
# scripts/check_vendored_upstream.sh; covered by Apache's own tests and by our dedicated
# pandas/pipelines parity workflows, not this offline shim suite). Keep in sync with that
# script's VENDORED_DIRS/VENDORED_FILES. What remains measured is the hand-written drop-in
# glue (pyspark/sql/*.py shims and pyspark/sql/connect/* shims).
*/cloudpickle/*
*/pyspark/testing/*
*/pyspark/pandas/*
*/pyspark/ml/*
*/pyspark/mllib/*
*/pyspark/resource/*
*/pyspark/streaming/*
*/pyspark/pipelines/*
*/pyspark/logger/*
*/pyspark/errors/*
*/pyspark/sql/streaming/*
*/pyspark/sql/worker/*
*/pyspark/sql/plot/*
*/pyspark/sql/pandas/*
*/pyspark/sql/functions_generated.py
*/pyspark/sql/datasource.py
*/pyspark/sql/conversion.py
*/pyspark/sql/internal.py
*/pyspark/sql/variant_utils.py
*/pyspark/sql/datasource_internal.py
*/pyspark/sql/profiler.py
*/pyspark/serializers.py
*/pyspark/loose_version.py
*/pyspark/_globals.py
# Classic-Spark / JVM / launcher utilities that a Connect-only client never uses and
# cannot exercise offline (SparkContext helpers, gateway launch, local-install discovery).
*/pyspark/util.py
*/pyspark/sql/utils.py
*/pyspark/find_spark_home.py
*/pyspark/version.py
*/pyspark/accumulators.py
*/pyspark/profiler.py
*/pyspark/memory_profiler_ext.py
*/pyspark/worker_util.py
*/pyspark/instrumentation_utils.py
*/pyspark/_pyspark*
*/tests/*
[report]
exclude_lines =
pragma: no cover
raise NotImplementedError
raise PySparkNotImplementedError
if __name__ == .__main__.:
# Never executed at runtime: type-checking-only imports and optional-dependency guards.
if TYPE_CHECKING:
except ImportError: