From 527975cd1d6802cb8cdc2af687c81bb9e415e5e7 Mon Sep 17 00:00:00 2001 From: Volker Schukai <volker.schukai@schukai.com> Date: Tue, 19 Mar 2024 20:31:26 +0100 Subject: [PATCH] fix: race --- database-3_test.go | 11 +++++++++++ database-5_test.go | 3 +++ manager.go | 1 - 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/database-3_test.go b/database-3_test.go index b46304d..cdf2df9 100644 --- a/database-3_test.go +++ b/database-3_test.go @@ -19,6 +19,8 @@ func TestWriteToDB3(t *testing.T) { t.Fatalf("a error occurred while opening the database: %v", err) } + db.Logger = db.Logger.LogMode(4) + manager := NewManager() manager.SetDB(db) err = manager.AddWorker(NewLocalWorker(1)) @@ -35,6 +37,15 @@ func TestWriteToDB3(t *testing.T) { time.Sleep(1 * time.Second) + // test is job in database + var tmpJob1 JobPersistence + r := db.First(&tmpJob1, "id = ?", "job2") + + assert.Nil(t, r.Error) + assert.Equal(t, JobID("job2"), tmpJob1.ID) + + time.Sleep(1 * time.Second) + err = manager.DeleteJob(job.GetID()) assert.Nil(t, err) diff --git a/database-5_test.go b/database-5_test.go index febe77c..bdd667a 100644 --- a/database-5_test.go +++ b/database-5_test.go @@ -7,6 +7,7 @@ import ( "gorm.io/driver/sqlite" "gorm.io/gorm" "testing" + "time" ) func TestWriteToDB5(t *testing.T) { @@ -35,6 +36,8 @@ func TestWriteToDB5(t *testing.T) { sameIDJob := NewJob[CounterResult]("jobSameID", runner) + time.Sleep(500 * time.Millisecond) + // Trying to save a job with the same ID should do nothing mgr.mu.Lock() mgr.jobSyncer.AddJob(sameIDJob) diff --git a/manager.go b/manager.go index 70307a3..848458b 100644 --- a/manager.go +++ b/manager.go @@ -389,7 +389,6 @@ func (m *Manager) RemoveWorker(worker Worker) error { // Start starts the manager func (m *Manager) Start() error { - //var err error m.mu.Lock() defer m.mu.Unlock() -- GitLab