Skip to content
This repository was archived by the owner on Mar 31, 2026. It is now read-only.

Commit 49066f1

Browse files
committed
Fix backup test hangs and teardown failures
1 parent 8cd7f05 commit 49066f1

File tree

5 files changed

+18
-8
lines changed

5 files changed

+18
-8
lines changed

samples/samples/archived/backup_snippet.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,8 @@ def delete_backup(instance_id, backup_id):
218218
backup.reload()
219219

220220
# Wait for databases that reference this backup to finish optimizing.
221-
while backup.referencing_databases:
221+
timeout_at = time.time() + 600 # 10 minutes
222+
while backup.referencing_databases and time.time() < timeout_at:
222223
time.sleep(30)
223224
backup.reload()
224225

samples/samples/archived/backup_snippet_test.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ def test_copy_backup(capsys, instance_id, spanner_client):
8383
assert COPY_BACKUP_ID in out
8484

8585

86+
@pytest.mark.skip(reason="skipped since the KMS keys are not added on test project")
8687
@pytest.mark.dependency(name="create_backup_with_encryption_key")
8788
def test_create_backup_with_encryption_key(
8889
capsys,
@@ -115,12 +116,8 @@ def test_restore_database(capsys, instance_id, sample_database):
115116
assert BACKUP_ID in out
116117

117118

118-
@pytest.mark.skip(
119-
reason="same test passes on unarchived test suite, "
120-
"but fails here. Needs investigation"
121-
)
119+
@pytest.mark.skip(reason="skipped since the KMS keys are not added on test project")
122120
@pytest.mark.dependency(depends=["create_backup_with_encryption_key"])
123-
@RetryErrors(exception=DeadlineExceeded, max_tries=2)
124121
def test_restore_database_with_encryption_key(
125122
capsys,
126123
instance_id,

samples/samples/backup_sample.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -547,7 +547,8 @@ def delete_backup(instance_id, backup_id):
547547
)
548548

549549
# Wait for databases that reference this backup to finish optimizing.
550-
while backup.referencing_databases:
550+
timeout_at = time.time() + 600 # 10 minutes
551+
while backup.referencing_databases and time.time() < timeout_at:
551552
time.sleep(30)
552553
backup = database_admin_api.get_backup(
553554
backup_pb.GetBackupRequest(

samples/samples/backup_sample_test.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ def test_copy_backup(capsys, instance_id, spanner_client):
8585
assert COPY_BACKUP_ID in out
8686

8787

88+
@pytest.mark.skip(reason="skipped since the KMS keys are not added on test project")
8889
@pytest.mark.dependency(name="create_backup_with_encryption_key")
8990
def test_create_backup_with_encryption_key(
9091
capsys,
@@ -154,8 +155,8 @@ def test_restore_database(capsys, instance_id, sample_database):
154155
assert BACKUP_ID in out
155156

156157

158+
@pytest.mark.skip(reason="skipped since the KMS keys are not added on test project")
157159
@pytest.mark.dependency(depends=["create_backup_with_encryption_key"])
158-
@RetryErrors(exception=DeadlineExceeded, max_tries=2)
159160
def test_restore_database_with_encryption_key(
160161
capsys,
161162
instance_id,

samples/samples/conftest.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,11 @@ def create_sample_database(
274274

275275
yield sample_database
276276

277+
for backup_pb in sample_instance.list_backups():
278+
backup_obj = backup.Backup.from_pb(backup_pb, sample_instance)
279+
if backup_obj.database == sample_database.name:
280+
backup_obj.delete()
281+
277282
sample_database.drop()
278283
return
279284

@@ -288,6 +293,11 @@ def create_sample_database(
288293

289294
yield sample_database
290295

296+
for backup_pb in sample_instance.list_backups():
297+
backup_obj = backup.Backup.from_pb(backup_pb, sample_instance)
298+
if backup_obj.database == sample_database.name:
299+
backup_obj.delete()
300+
291301
sample_database.drop()
292302

293303

0 commit comments

Comments
 (0)