test(scheduler) Remove un-needed test causing intermittent failures (#1501)

This commit is contained in:
Louis Ruch authored and GitHub committed 2021-09-04 07:30:31 -07:00
1 parent 02c0764e11
commit 61722659d1
1 file changed
+2 -78
@@ -137,82 +137,6 @@ func TestSchedulerCancelCtx(t *testing.T) {
<-jobDone
}
func TestSchedulerWaitOnRunningJobs(t *testing.T) {
// do not use t.Parallel() since it relies on the sys eventer
require := require.New(t)
conn, _ := db.TestSetup(t, "postgres")
wrapper := db.TestWrapper(t)
iam.TestRepo(t, conn, wrapper)
event.TestEnableEventing(t, true)
testConfig := event.DefaultEventerConfig()
testLock := &sync.Mutex{}
testLogger := hclog.New(&hclog.LoggerOptions{
Mutex: testLock,
})
err := event.InitSysEventer(testLogger, testLock, "TestSchedulerWorkflow", event.WithEventerConfig(testConfig))
require.NoError(err)
sched := TestScheduler(t, conn, wrapper, WithRunJobsLimit(10), WithRunJobsInterval(time.Second), WithMonitorInterval(time.Second))
jobReady := make(chan struct{})
finishJob := make(chan struct{})
fn := func(ctx context.Context) error {
jobReady <- struct{}{}
<-finishJob
return nil
}
tj := testJob{name: "name", description: "desc", fn: fn, nextRunIn: time.Hour}
err = sched.RegisterJob(context.Background(), tj)
require.NoError(err)
baseCtx, baseCnl := context.WithCancel(context.Background())
var wg sync.WaitGroup
err = sched.Start(baseCtx, &wg)
require.NoError(err)
waiting := make(chan struct{})
go func() {
defer close(waiting)
wg.Wait()
}()
// Wait for scheduler to run job
<-jobReady
// Verify waitGroup is still waiting
select {
case <-waiting:
t.Fatal("expected waitgroup to be waiting")
default:
}
// Cancel base context
baseCnl()
// Sleep to propagate context cancel
time.Sleep(250 * time.Millisecond)
// Verify waitGroup is still waiting
select {
case <-waiting:
t.Fatal("expected waitgroup to be waiting")
default:
}
finishJob <- struct{}{}
// Sleep to ensure job finish is registered
time.Sleep(250 * time.Millisecond)
// Now that job has finished, verify waitGroup is no longer waiting
select {
case <-waiting:
default:
t.Fatal("expected waitgroup to no longer be waiting")
}
}
func TestSchedulerInterruptedCancelCtx(t *testing.T) {
// do not use t.Parallel() since it relies on the sys eventer
assert, require := assert.New(t), require.New(t)
@@ -329,7 +253,7 @@ func TestSchedulerJobProgress(t *testing.T) {
testLogger := hclog.New(&hclog.LoggerOptions{
Mutex: testLock,
})
err := event.InitSysEventer(testLogger, testLock, "TestSchedulerWorkflow", event.WithEventerConfig(testConfig))
err := event.InitSysEventer(testLogger, testLock, "TestSchedulerJobProgress", event.WithEventerConfig(testConfig))
require.NoError(err)
sched := TestScheduler(t, conn, wrapper, WithRunJobsLimit(10), WithRunJobsInterval(time.Second), WithMonitorInterval(time.Second))
@@ -439,7 +363,7 @@ func TestSchedulerMonitorLoop(t *testing.T) {
testLogger := hclog.New(&hclog.LoggerOptions{
Mutex: testLock,
})
err := event.InitSysEventer(testLogger, testLock, "TestSchedulerWorkflow", event.WithEventerConfig(testConfig))
err := event.InitSysEventer(testLogger, testLock, "TestSchedulerMonitorLoop", event.WithEventerConfig(testConfig))
require.NoError(err)
sched := TestScheduler(t, conn, wrapper, WithRunJobsLimit(10), WithInterruptThreshold(time.Second), WithRunJobsInterval(time.Second), WithMonitorInterval(time.Second))