Skip to content

Add end-to-end tests to verify table interleave limits when migrating from MySQL#1240

Merged
pratickchokhani merged 9 commits intoGoogleCloudPlatform:masterfrom
nmemond:interleave-limit-e2e-tests
Jan 5, 2026
Merged

Add end-to-end tests to verify table interleave limits when migrating from MySQL#1240
pratickchokhani merged 9 commits intoGoogleCloudPlatform:masterfrom
nmemond:interleave-limit-e2e-tests

Conversation

@nmemond
Copy link
Contributor

@nmemond nmemond commented Nov 27, 2025

This PR is built on top of #1238, that PR should be reviewed and merged first (which will significantly reduce the size of this PR).

This is the third PR to add end-to-end tests to verify table and index limits when migrating from a MySQL database. It focuses only on the schema migration portion, verification for the data migration is not included here.

It adds test for the following table limits:

  • table interleaving depth

These end-to-end tests are expected to run against an actual Spanner instance, not an emulated Spanner instance. As such, they have been separated from the other integration tests with a new env var, SPANNER_MIGRATION_TOOL_RUN_E2E_TESTS, to indicate that the E2E tests should be run.

Additionally, given that these run against an actual Spanner instance, they're a bit slower than other tests (on the order of minutes, not seconds). I expect it makes more sense to only run these on-demand instead of for every build.

Also, note that some of these tests don't actually pass: I've written them under the expectation that the limits are adhered to and that exceeding a limit leads to an error. This is unfortunately not the case for all limits: some succeed without any errors or issues, which of course fails the test. I'll be including the full details of all the issues and disparities in the actual parity report.

  • Tests pass
  • Appropriate changes to README are included in PR

@nmemond nmemond force-pushed the interleave-limit-e2e-tests branch 2 times, most recently from 1e0e8db to 02ff0a6 Compare December 9, 2025 14:22
@nmemond nmemond force-pushed the interleave-limit-e2e-tests branch from 02ff0a6 to ffb36a4 Compare December 16, 2025 14:14
@nmemond nmemond marked this pull request as ready for review December 23, 2025 14:23
@nmemond nmemond requested a review from a team as a code owner December 23, 2025 14:23
@nmemond nmemond requested review from aasthabharill and shreyakhajanchi and removed request for a team December 23, 2025 14:23
@codecov
Copy link

codecov bot commented Jan 5, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 47.22%. Comparing base (2dcf62f) to head (063fd70).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1240   +/-   ##
=======================================
  Coverage   47.22%   47.22%           
=======================================
  Files         231      231           
  Lines       26693    26693           
  Branches      581      581           
=======================================
  Hits        12606    12606           
  Misses      13366    13366           
  Partials      721      721           
Components Coverage Δ
backend-apis 42.11% <ø> (ø)
backend-library 51.59% <ø> (ø)
cli 24.44% <ø> (ø)
frontend 38.77% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@pratickchokhani pratickchokhani merged commit f768286 into GoogleCloudPlatform:master Jan 5, 2026
11 checks passed
@nmemond nmemond deleted the interleave-limit-e2e-tests branch January 5, 2026 13:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants