Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .kokoro/presubmit/presubmit-doctest-bigframes.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,10 @@ env_vars: {
env_vars: {
key: "GOOGLE_CLOUD_PROJECT"
value: "bigframes-testing"
}

# Override the build file to only run for bigframes.
env_vars: {
key: "TRAMPOLINE_BUILD_FILE"
value: "github/google-cloud-python/packages/bigframes/scripts/run_doctest.sh"
}
3 changes: 0 additions & 3 deletions packages/bigframes/noxfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -392,9 +392,6 @@ def system_noextras(session: nox.sessions.Session):
@nox.session(python="3.12")
def doctest(session: nox.sessions.Session):
"""Run the system test suite."""
session.skip(
"Temporary skip to enable a PR merge. Remove skip as part of closing https://github.com/googleapis/google-cloud-python/issues/16489"
)

run_system(
session=session,
Expand Down
52 changes: 52 additions & 0 deletions packages/bigframes/scripts/run_doctest.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
#!/bin/bash
# `-e` enables the script to automatically fail when a command fails
# `-o pipefail` sets the exit code to non-zero if any command fails,
# or zero if all commands in the pipeline exit successfully.
set -eo pipefail

# Disable buffering, so that the logs stream through.
export PYTHONUNBUFFERED=1

# Assume we are running from the repo root or we need to find it.
# If this script is in packages/bigframes/scripts/run_doctest.sh,
# then repo root is 3 levels up.
export PROJECT_ROOT=$(realpath "$(dirname "${BASH_SOURCE[0]}")/../../..")
cd "$PROJECT_ROOT"

# This is needed in order for `git diff` to succeed
git config --global --add safe.directory "$(realpath .)"

package_name="bigframes"
package_path="packages/${package_name}"

# Determine if we should skip based on git diff
files_to_check="${package_path}"

if [[ -n "${KOKORO_GITHUB_PULL_REQUEST_TARGET_BRANCH}" && -n "${KOKORO_GITHUB_PULL_REQUEST_COMMIT}" ]]; then
echo "checking changes with 'git diff ${KOKORO_GITHUB_PULL_REQUEST_TARGET_BRANCH}...${KOKORO_GITHUB_PULL_REQUEST_COMMIT} -- ${files_to_check}'"
set +e
package_modified=$(git diff "${KOKORO_GITHUB_PULL_REQUEST_TARGET_BRANCH}...${KOKORO_GITHUB_PULL_REQUEST_COMMIT}" -- "${files_to_check}" | wc -l)
set -e
else
package_modified=0
fi

if [[ "${package_modified}" -gt 0 || "$KOKORO_BUILD_ARTIFACTS_SUBDIR" == *"continuous"* ]]; then
echo "------------------------------------------------------------"
echo "Running doctest for: ${package_name}"
echo "------------------------------------------------------------"

# Ensure credentials are set for system tests in Kokoro
if [[ -z "${GOOGLE_APPLICATION_CREDENTIALS}" && -f "${KOKORO_GFILE_DIR}/service-account.json" ]]; then
export GOOGLE_APPLICATION_CREDENTIALS="${KOKORO_GFILE_DIR}/service-account.json"
fi

export GOOGLE_CLOUD_PROJECT="bigframes-testing"
cd "${package_path}"

python3 -m nox -s cleanup || echo "Warning: Cleanup session failed, proceeding to doctest."
python3 -m nox -s doctest
echo "DINOSAURS"
else
echo "No changes in ${package_name} and not a continuous build, skipping."
fi
4 changes: 2 additions & 2 deletions packages/bigframes/tests/system/small/test_series.py
Original file line number Diff line number Diff line change
Expand Up @@ -1234,7 +1234,7 @@ def test_divmods_series(scalars_dfs, col_x, col_y, method):
# BigQuery's mod functions return NUMERIC values for non-INT64 inputs.
if bf_div_result.dtype == pd.Int64Dtype():
bigframes.testing.utils.assert_series_equal(
pd_div_result, bf_div_result.to_pandas()
pd_div_result, bf_div_result.to_pandas(), check_dtype=False
)
else:
bigframes.testing.utils.assert_series_equal(
Expand Down Expand Up @@ -1279,7 +1279,7 @@ def test_divmods_scalars(scalars_dfs, col_x, other, method):
# BigQuery's mod functions return NUMERIC values for non-INT64 inputs.
if bf_div_result.dtype == pd.Int64Dtype():
bigframes.testing.utils.assert_series_equal(
pd_div_result, bf_div_result.to_pandas()
pd_div_result, bf_div_result.to_pandas(), check_dtype=False
)
else:
bigframes.testing.utils.assert_series_equal(
Expand Down
3 changes: 3 additions & 0 deletions packages/sqlalchemy-bigquery/noxfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,9 @@ def wrapper(*args, **kwargs):
return wrapper


# COMMENT ADDED FOR TESTING PURPOSES ONLY. REMOVE BEFORE MERGE.


nox.options.sessions = [
"unit",
"system",
Expand Down
Loading