channeldb: add shouldFail param to ApplyMigrationWithDB

Add a shouldFail boolean parameter to the migtest ApplyMigrationWithDB
in order to make it easier to test migration failures.
This commit is contained in:
Elle Mouton 2022-12-23 10:10:27 +02:00
parent 0f6229d9e6
commit af076d8ff4
No known key found for this signature in database
GPG Key ID: D7D916376026F177
2 changed files with 8 additions and 3 deletions

View File

@ -108,6 +108,7 @@ func TestMigrateRevocationLog(t *testing.T) {
beforeMigration,
afterMigration,
MigrateRevocationLog,
false,
)
})
if !success {
@ -569,5 +570,6 @@ func BenchmarkMigration(b *testing.B) {
return MigrateRevocationLog(db)
},
false,
)
}

View File

@ -90,7 +90,7 @@ func ApplyMigration(t *testing.T,
// supplied migration functions to take a db instance and construct their own
// database transactions.
func ApplyMigrationWithDb(t testing.TB, beforeMigration, afterMigration,
migrationFunc func(db kvdb.Backend) error) {
migrationFunc func(db kvdb.Backend) error, shouldFail bool) {
t.Helper()
@ -106,8 +106,11 @@ func ApplyMigrationWithDb(t testing.TB, beforeMigration, afterMigration,
}
// Apply migration.
if err := migrationFunc(cdb); err != nil {
t.Fatalf("migrationFunc error: %v", err)
err = migrationFunc(cdb)
if shouldFail {
require.Error(t, err)
} else {
require.NoError(t, err)
}
// If there's no afterMigration, exit here.