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 committed 2023-01-11 13:59:03 +02:00
1 parent 0f6229d9e6
commit af076d8ff4
2 files changed
+8 -3

No files matched your search

+2
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,
)
}
+6 -3
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.