Skip to content

Commit a3473a4

Browse files
authored
speed up DB itests (#1022)
1 parent adb42bc commit a3473a4

File tree

9 files changed

+28
-16
lines changed

9 files changed

+28
-16
lines changed

harmony/harmonydb/harmonydb.go

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,12 @@ func init() {
2020
}
2121

2222
func NewFromConfig(cfg Config) (*DB, error) {
23-
cfg.SqlEmbedFS = &upgradeFS
24-
cfg.DowngradeEmbedFS = &downgradeFS
23+
if cfg.SqlEmbedFS == nil {
24+
cfg.SqlEmbedFS = &upgradeFS
25+
}
26+
if cfg.DowngradeEmbedFS == nil {
27+
cfg.DowngradeEmbedFS = &downgradeFS
28+
}
2529
return harmonyquery.NewFromConfig(cfg)
2630
}
2731

@@ -32,7 +36,12 @@ func envElse(env, els string) string {
3236
return els
3337
}
3438

35-
func NewFromConfigWithITestID(t *testing.T, id harmonyquery.ITestID) (*DB, error) {
39+
func NewFromConfigWithITestID(t *testing.T, id harmonyquery.ITestID, fullMigrations bool) (*DB, error) {
40+
sqlFS := &testUpgradeFS
41+
if fullMigrations {
42+
sqlFS = &upgradeFS
43+
}
44+
3645
db, err := NewFromConfig(Config{
3746
Hosts: []string{envElse(harmonyquery.DefaultHostEnv, "127.0.0.1")},
3847
Database: "yugabyte",
@@ -41,7 +50,7 @@ func NewFromConfigWithITestID(t *testing.T, id harmonyquery.ITestID) (*DB, error
4150
Port: "5433",
4251
LoadBalance: false,
4352
ITestID: id,
44-
SqlEmbedFS: &upgradeFS,
53+
SqlEmbedFS: sqlFS,
4554
DowngradeEmbedFS: &downgradeFS,
4655
})
4756
if err != nil {
@@ -59,6 +68,9 @@ var upgradeFS embed.FS
5968
//go:embed downgrade
6069
var downgradeFS embed.FS
6170

71+
//go:embed sql/20230706-itest_scratch.sql
72+
var testUpgradeFS embed.FS
73+
6274
// A function for clean, idempotent SQL upgrade testing.
6375
var ITestUpgradeFunc = harmonyquery.ITestUpgradeFunc
6476

itests/alertnow_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ func TestAlertNow(t *testing.T) {
2121
}
2222
// Create dependencies
2323
sharedITestID := harmonydb.ITestNewID()
24-
db, err := harmonydb.NewFromConfigWithITestID(t, sharedITestID)
24+
db, err := harmonydb.NewFromConfigWithITestID(t, sharedITestID, true)
2525
require.NoError(t, err)
2626

2727
an := alertmanager.NewAlertNow(db, "alertNowMachine")

itests/curio_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ func TestCurioHappyPath(t *testing.T) {
7676
sharedITestID := harmonydb.ITestNewID()
7777
t.Logf("sharedITestID: %s", sharedITestID)
7878

79-
db, err := harmonydb.NewFromConfigWithITestID(t, sharedITestID)
79+
db, err := harmonydb.NewFromConfigWithITestID(t, sharedITestID, true)
8080
require.NoError(t, err)
8181

8282
defer db.ITestDeleteAll()

itests/dyncfg_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ func TestDynamicConfig(t *testing.T) {
1717
defer cancel()
1818

1919
sharedITestID := harmonydb.ITestNewID()
20-
cdb, err := harmonydb.NewFromConfigWithITestID(t, sharedITestID)
20+
cdb, err := harmonydb.NewFromConfigWithITestID(t, sharedITestID, true)
2121
require.NoError(t, err)
2222

2323
databaseContents := &config.CurioConfig{

itests/harmonydb_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ func TestCrud(t *testing.T) {
2020
defer cancel()
2121

2222
sharedITestID := harmonydb.ITestNewID()
23-
cdb, err := harmonydb.NewFromConfigWithITestID(t, sharedITestID)
23+
cdb, err := harmonydb.NewFromConfigWithITestID(t, sharedITestID, false)
2424
require.NoError(t, err)
2525

2626
//cdb := miner.BaseAPI.(*impl.StorageMinerAPI).HarmonyDB
@@ -52,7 +52,7 @@ func TestTransaction(t *testing.T) {
5252
defer cancel()
5353

5454
testID := harmonydb.ITestNewID()
55-
cdb, err := harmonydb.NewFromConfigWithITestID(t, testID)
55+
cdb, err := harmonydb.NewFromConfigWithITestID(t, testID, false)
5656
require.NoError(t, err)
5757
_, err = cdb.Exec(ctx, "INSERT INTO itest_scratch (some_int) VALUES (4), (5), (6)")
5858
require.NoError(t, err)
@@ -116,7 +116,7 @@ func TestPartialWalk(t *testing.T) {
116116
defer cancel()
117117

118118
testID := harmonydb.ITestNewID()
119-
cdb, err := harmonydb.NewFromConfigWithITestID(t, testID)
119+
cdb, err := harmonydb.NewFromConfigWithITestID(t, testID, false)
120120
require.NoError(t, err)
121121
_, err = cdb.Exec(ctx, `
122122
INSERT INTO
@@ -161,7 +161,7 @@ func TestDowngradeTo(t *testing.T) {
161161
defer cancel()
162162

163163
testID := harmonydb.ITestNewID()
164-
cdb, err := harmonydb.NewFromConfigWithITestID(t, testID)
164+
cdb, err := harmonydb.NewFromConfigWithITestID(t, testID, true)
165165
require.NoError(t, err)
166166

167167
// The setup: lets make revert files going forward in time, but ignore the past.

itests/market_deal_dynamic_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ func TestMarketDealDynamicMinerUpdate(t *testing.T) {
7979
sharedITestID := harmonydb.ITestNewID()
8080
t.Logf("sharedITestID: %s", sharedITestID)
8181

82-
db, err := harmonydb.NewFromConfigWithITestID(t, sharedITestID)
82+
db, err := harmonydb.NewFromConfigWithITestID(t, sharedITestID, true)
8383
require.NoError(t, err)
8484

8585
defer db.ITestDeleteAll()
@@ -443,7 +443,7 @@ func TestMarketDealSystemBasic(t *testing.T) {
443443
sharedITestID := harmonydb.ITestNewID()
444444
t.Logf("sharedITestID: %s", sharedITestID)
445445

446-
db, err := harmonydb.NewFromConfigWithITestID(t, sharedITestID)
446+
db, err := harmonydb.NewFromConfigWithITestID(t, sharedITestID, true)
447447
require.NoError(t, err)
448448
defer db.ITestDeleteAll()
449449

itests/sql_idempotent_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ func TestSQLIdempotent(t *testing.T) {
2121
}
2222

2323
testID := harmonydb.ITestNewID()
24-
cdb, err := harmonydb.NewFromConfigWithITestID(t, testID)
24+
cdb, err := harmonydb.NewFromConfigWithITestID(t, testID, true)
2525
require.NoError(t, err)
2626

2727
ctx := context.Background()

lib/paths/local_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ func TestLocalStorage(t *testing.T) {
8484

8585
sharedITestID := harmonydb.ITestNewID()
8686

87-
db, err := harmonydb.NewFromConfigWithITestID(t, sharedITestID)
87+
db, err := harmonydb.NewFromConfigWithITestID(t, sharedITestID, true)
8888
require.NoError(t, err)
8989

9090
index := NewDBIndex(nil, db)

lib/paths/remote_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ func TestMoveShared(t *testing.T) {
6161

6262
sharedITestID := harmonydb.ITestNewID()
6363

64-
db, err := harmonydb.NewFromConfigWithITestID(t, sharedITestID)
64+
db, err := harmonydb.NewFromConfigWithITestID(t, sharedITestID, true)
6565
require.NoError(t, err)
6666

6767
index := paths.NewDBIndex(nil, db)

0 commit comments

Comments
 (0)