Manager: remove testing.T
parameter from some test setup functions
Replace the use of the `t *testing.T` parameter with just plain `panic()` when test setup fails. This makes it easier to call the same functions from other situations, like benchmark functions. No functional changes to Flamenco itself.
This commit is contained in:
parent
88f90ef0a5
commit
5ec479a983
@ -170,7 +170,7 @@ func TestWorkersLeftToRun(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestWorkersLeftToRunWithTags(t *testing.T) {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, schedulerTestTimeout)
|
||||
ctx, cancel, db := persistenceTestFixtures(schedulerTestTimeout)
|
||||
defer cancel()
|
||||
|
||||
// Create tags.
|
||||
|
@ -45,7 +45,7 @@ func TestSimpleQuery(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestQueryMetadata(t *testing.T) {
|
||||
ctx, close, db := persistenceTestFixtures(t, 0)
|
||||
ctx, close, db := persistenceTestFixtures(0)
|
||||
defer close()
|
||||
|
||||
testJob := persistAuthoredJob(t, ctx, db, createTestAuthoredJobWithTasks())
|
||||
|
@ -19,7 +19,7 @@ import (
|
||||
)
|
||||
|
||||
func TestStoreAuthoredJob(t *testing.T) {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, 1*time.Second)
|
||||
ctx, cancel, db := persistenceTestFixtures(1 * time.Second)
|
||||
defer cancel()
|
||||
|
||||
job := createTestAuthoredJobWithTasks()
|
||||
@ -59,7 +59,7 @@ func TestStoreAuthoredJob(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestStoreAuthoredJobWithShamanCheckoutID(t *testing.T) {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, 1*time.Second)
|
||||
ctx, cancel, db := persistenceTestFixtures(1 * time.Second)
|
||||
defer cancel()
|
||||
|
||||
job := createTestAuthoredJobWithTasks()
|
||||
@ -76,7 +76,7 @@ func TestStoreAuthoredJobWithShamanCheckoutID(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestFetchTaskJobUUID(t *testing.T) {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, 1*time.Second)
|
||||
ctx, cancel, db := persistenceTestFixtures(1 * time.Second)
|
||||
defer cancel()
|
||||
|
||||
job := createTestAuthoredJobWithTasks()
|
||||
@ -91,7 +91,7 @@ func TestFetchTaskJobUUID(t *testing.T) {
|
||||
func TestSaveJobStorageInfo(t *testing.T) {
|
||||
// Test that saving job storage info doesn't count as "update".
|
||||
// This is necessary for `cmd/shaman-checkout-id-setter` to do its work quietly.
|
||||
ctx, cancel, db := persistenceTestFixtures(t, 1*time.Second)
|
||||
ctx, cancel, db := persistenceTestFixtures(1 * time.Second)
|
||||
defer cancel()
|
||||
|
||||
startTime := time.Date(2023, time.February, 7, 15, 0, 0, 0, time.UTC)
|
||||
@ -122,7 +122,7 @@ func TestSaveJobStorageInfo(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestSaveJobPriority(t *testing.T) {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, 1*time.Second)
|
||||
ctx, cancel, db := persistenceTestFixtures(1 * time.Second)
|
||||
defer cancel()
|
||||
|
||||
// Create test job.
|
||||
@ -146,7 +146,7 @@ func TestSaveJobPriority(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestDeleteJob(t *testing.T) {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, 1*time.Second)
|
||||
ctx, cancel, db := persistenceTestFixtures(1 * time.Second)
|
||||
defer cancel()
|
||||
|
||||
authJob := createTestAuthoredJobWithTasks()
|
||||
@ -193,7 +193,7 @@ func TestDeleteJob(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestFetchJobShamanCheckoutID(t *testing.T) {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, 1*time.Second)
|
||||
ctx, cancel, db := persistenceTestFixtures(1 * time.Second)
|
||||
defer cancel()
|
||||
|
||||
authJob := createTestAuthoredJobWithTasks()
|
||||
@ -216,7 +216,7 @@ func TestFetchJobShamanCheckoutID(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestDeleteJobWithoutFK(t *testing.T) {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, 1*time.Second)
|
||||
ctx, cancel, db := persistenceTestFixtures(1 * time.Second)
|
||||
defer cancel()
|
||||
|
||||
authJob := createTestAuthoredJobWithTasks()
|
||||
@ -919,7 +919,7 @@ func createTestAuthoredJob(jobID string, tasks ...job_compilers.AuthoredTask) jo
|
||||
return job
|
||||
}
|
||||
|
||||
func persistAuthoredJob(t *testing.T, ctx context.Context, db *DB, authoredJob job_compilers.AuthoredJob) *Job {
|
||||
func persistAuthoredJob(t require.TestingT, ctx context.Context, db *DB, authoredJob job_compilers.AuthoredJob) *Job {
|
||||
err := db.StoreAuthoredJob(ctx, authoredJob)
|
||||
require.NoError(t, err, "error storing authored job in DB")
|
||||
|
||||
@ -968,7 +968,7 @@ func duplicateJobAndTasks(job job_compilers.AuthoredJob) job_compilers.AuthoredJ
|
||||
}
|
||||
|
||||
func jobTasksTestFixtures(t *testing.T) (context.Context, context.CancelFunc, *DB, *Job, job_compilers.AuthoredJob) {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, schedulerTestTimeout)
|
||||
ctx, cancel, db := persistenceTestFixtures(schedulerTestTimeout)
|
||||
|
||||
authoredJob := createTestAuthoredJobWithTasks()
|
||||
dbJob := persistAuthoredJob(t, ctx, db, authoredJob)
|
||||
@ -978,7 +978,7 @@ func jobTasksTestFixtures(t *testing.T) (context.Context, context.CancelFunc, *D
|
||||
|
||||
// This created Test Jobs using the new function createTestAuthoredJobWithNumTasks so that you can set the number of tasks
|
||||
func jobTasksTestFixturesWithTaskNum(t *testing.T, numtasks int) (context.Context, context.CancelFunc, *DB, *Job, job_compilers.AuthoredJob) {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, schedulerTestTimeoutlong)
|
||||
ctx, cancel, db := persistenceTestFixtures(schedulerTestTimeoutlong)
|
||||
|
||||
authoredJob := createTestAuthoredJobWithNumTasks(numtasks)
|
||||
dbJob := persistAuthoredJob(t, ctx, db, authoredJob)
|
||||
|
@ -19,7 +19,7 @@ const schedulerTestTimeout = 100 * time.Millisecond
|
||||
const schedulerTestTimeoutlong = 5000 * time.Millisecond
|
||||
|
||||
func TestNoTasks(t *testing.T) {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, schedulerTestTimeout)
|
||||
ctx, cancel, db := persistenceTestFixtures(schedulerTestTimeout)
|
||||
defer cancel()
|
||||
|
||||
w := linuxWorker(t, db)
|
||||
@ -30,7 +30,7 @@ func TestNoTasks(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestOneJobOneTask(t *testing.T) {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, schedulerTestTimeout)
|
||||
ctx, cancel, db := persistenceTestFixtures(schedulerTestTimeout)
|
||||
defer cancel()
|
||||
|
||||
w := linuxWorker(t, db)
|
||||
@ -67,7 +67,7 @@ func TestOneJobOneTask(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestOneJobThreeTasksByPrio(t *testing.T) {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, schedulerTestTimeout)
|
||||
ctx, cancel, db := persistenceTestFixtures(schedulerTestTimeout)
|
||||
defer cancel()
|
||||
|
||||
w := linuxWorker(t, db)
|
||||
@ -98,7 +98,7 @@ func TestOneJobThreeTasksByPrio(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestOneJobThreeTasksByDependencies(t *testing.T) {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, schedulerTestTimeout)
|
||||
ctx, cancel, db := persistenceTestFixtures(schedulerTestTimeout)
|
||||
defer cancel()
|
||||
|
||||
w := linuxWorker(t, db)
|
||||
@ -124,7 +124,7 @@ func TestOneJobThreeTasksByDependencies(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestTwoJobsThreeTasks(t *testing.T) {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, schedulerTestTimeout)
|
||||
ctx, cancel, db := persistenceTestFixtures(schedulerTestTimeout)
|
||||
defer cancel()
|
||||
|
||||
w := linuxWorker(t, db)
|
||||
@ -167,7 +167,7 @@ func TestSomeButNotAllDependenciesCompleted(t *testing.T) {
|
||||
// There was a bug in the task scheduler query, where it would schedule a task
|
||||
// if any of its dependencies was completed (instead of all dependencies).
|
||||
// This test reproduces that problematic scenario.
|
||||
ctx, cancel, db := persistenceTestFixtures(t, schedulerTestTimeout)
|
||||
ctx, cancel, db := persistenceTestFixtures(schedulerTestTimeout)
|
||||
defer cancel()
|
||||
|
||||
att1 := authorTestTask("1.1 completed task", "blender")
|
||||
@ -190,7 +190,7 @@ func TestSomeButNotAllDependenciesCompleted(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestAlreadyAssigned(t *testing.T) {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, schedulerTestTimeout)
|
||||
ctx, cancel, db := persistenceTestFixtures(schedulerTestTimeout)
|
||||
defer cancel()
|
||||
|
||||
w := linuxWorker(t, db)
|
||||
@ -226,7 +226,7 @@ func TestAlreadyAssigned(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestAssignedToOtherWorker(t *testing.T) {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, schedulerTestTimeout)
|
||||
ctx, cancel, db := persistenceTestFixtures(schedulerTestTimeout)
|
||||
defer cancel()
|
||||
|
||||
w := linuxWorker(t, db)
|
||||
@ -262,7 +262,7 @@ func TestAssignedToOtherWorker(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestPreviouslyFailed(t *testing.T) {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, schedulerTestTimeout)
|
||||
ctx, cancel, db := persistenceTestFixtures(schedulerTestTimeout)
|
||||
defer cancel()
|
||||
|
||||
w := linuxWorker(t, db)
|
||||
@ -292,7 +292,7 @@ func TestPreviouslyFailed(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestWorkerTagJobWithTag(t *testing.T) {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, schedulerTestTimeout)
|
||||
ctx, cancel, db := persistenceTestFixtures(schedulerTestTimeout)
|
||||
defer cancel()
|
||||
|
||||
// Create worker tags:
|
||||
@ -341,7 +341,7 @@ func TestWorkerTagJobWithTag(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestWorkerTagJobWithoutTag(t *testing.T) {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, schedulerTestTimeout)
|
||||
ctx, cancel, db := persistenceTestFixtures(schedulerTestTimeout)
|
||||
defer cancel()
|
||||
|
||||
// Create worker tag:
|
||||
@ -376,7 +376,7 @@ func TestWorkerTagJobWithoutTag(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestBlocklisted(t *testing.T) {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, schedulerTestTimeout)
|
||||
ctx, cancel, db := persistenceTestFixtures(schedulerTestTimeout)
|
||||
defer cancel()
|
||||
|
||||
w := linuxWorker(t, db)
|
||||
|
@ -6,6 +6,7 @@ package persistence
|
||||
import (
|
||||
"context"
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"os"
|
||||
"testing"
|
||||
"time"
|
||||
@ -22,11 +23,11 @@ import (
|
||||
// resulting database.
|
||||
const TestDSN = "file::memory:"
|
||||
|
||||
func CreateTestDB(t *testing.T) (db *DB, closer func()) {
|
||||
func CreateTestDB() (db *DB, closer func()) {
|
||||
// Delete the SQLite file if it exists on disk.
|
||||
if _, err := os.Stat(TestDSN); err == nil {
|
||||
if err := os.Remove(TestDSN); err != nil {
|
||||
t.Fatalf("unable to remove %s: %v", TestDSN, err)
|
||||
panic(fmt.Sprintf("unable to remove %s: %v", TestDSN, err))
|
||||
}
|
||||
}
|
||||
|
||||
@ -38,7 +39,7 @@ func CreateTestDB(t *testing.T) (db *DB, closer func()) {
|
||||
// can be closed when the unit test is done running.
|
||||
sqliteConn, err := sql.Open(sqlite.DriverName, TestDSN)
|
||||
if err != nil {
|
||||
t.Fatalf("opening SQLite connection: %v", err)
|
||||
panic(fmt.Sprintf("opening SQLite connection: %v", err))
|
||||
}
|
||||
|
||||
config := gorm.Config{
|
||||
@ -49,19 +50,19 @@ func CreateTestDB(t *testing.T) (db *DB, closer func()) {
|
||||
|
||||
db, err = openDBWithConfig(TestDSN, &config)
|
||||
if err != nil {
|
||||
t.Fatalf("opening DB: %v", err)
|
||||
panic(fmt.Sprintf("opening DB: %v", err))
|
||||
}
|
||||
|
||||
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
|
||||
defer cancel()
|
||||
err = db.migrate(ctx)
|
||||
if err != nil {
|
||||
t.Fatalf("migrating DB: %v", err)
|
||||
panic(fmt.Sprintf("migrating DB: %v", err))
|
||||
}
|
||||
|
||||
closer = func() {
|
||||
if err := db.Close(); err != nil {
|
||||
t.Fatalf("closing DB: %v", err)
|
||||
panic(fmt.Sprintf("closing DB: %v", err))
|
||||
}
|
||||
}
|
||||
|
||||
@ -70,8 +71,8 @@ func CreateTestDB(t *testing.T) (db *DB, closer func()) {
|
||||
|
||||
// persistenceTestFixtures creates a test database and returns it and a context.
|
||||
// Tests should call the returned cancel function when they're done.
|
||||
func persistenceTestFixtures(t *testing.T, testContextTimeout time.Duration) (context.Context, context.CancelFunc, *DB) {
|
||||
db, dbCloser := CreateTestDB(t)
|
||||
func persistenceTestFixtures(testContextTimeout time.Duration) (context.Context, context.CancelFunc, *DB) {
|
||||
db, dbCloser := CreateTestDB()
|
||||
|
||||
var (
|
||||
ctx context.Context
|
||||
@ -102,7 +103,7 @@ type WorkerTestFixture struct {
|
||||
}
|
||||
|
||||
func workerTestFixtures(t *testing.T, testContextTimeout time.Duration) WorkerTestFixture {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, testContextTimeout)
|
||||
ctx, cancel, db := persistenceTestFixtures(testContextTimeout)
|
||||
|
||||
w := Worker{
|
||||
UUID: "557930e7-5b55-469e-a6d7-fc800f3685be",
|
||||
|
@ -51,7 +51,7 @@ func TestFetchTimedOutTasks(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestFetchTimedOutWorkers(t *testing.T) {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, 1*time.Second)
|
||||
ctx, cancel, db := persistenceTestFixtures(1 * time.Second)
|
||||
defer cancel()
|
||||
|
||||
timeoutDeadline := mustParseTime("2022-06-07T11:14:47+02:00")
|
||||
|
@ -13,7 +13,7 @@ import (
|
||||
)
|
||||
|
||||
func TestFetchWorkerSleepSchedule(t *testing.T) {
|
||||
ctx, finish, db := persistenceTestFixtures(t, 1*time.Second)
|
||||
ctx, finish, db := persistenceTestFixtures(1 * time.Second)
|
||||
defer finish()
|
||||
|
||||
linuxWorker := Worker{
|
||||
@ -57,7 +57,7 @@ func TestFetchWorkerSleepSchedule(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestFetchSleepScheduleWorker(t *testing.T) {
|
||||
ctx, finish, db := persistenceTestFixtures(t, 1*time.Second)
|
||||
ctx, finish, db := persistenceTestFixtures(1 * time.Second)
|
||||
defer finish()
|
||||
|
||||
linuxWorker := Worker{
|
||||
@ -104,7 +104,7 @@ func TestFetchSleepScheduleWorker(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestSetWorkerSleepSchedule(t *testing.T) {
|
||||
ctx, finish, db := persistenceTestFixtures(t, 1*time.Second)
|
||||
ctx, finish, db := persistenceTestFixtures(1 * time.Second)
|
||||
defer finish()
|
||||
|
||||
linuxWorker := Worker{
|
||||
@ -187,7 +187,7 @@ func TestSetWorkerSleepSchedule(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestSetWorkerSleepScheduleNextCheck(t *testing.T) {
|
||||
ctx, finish, db := persistenceTestFixtures(t, 1*time.Second)
|
||||
ctx, finish, db := persistenceTestFixtures(1 * time.Second)
|
||||
defer finish()
|
||||
|
||||
schedule := SleepSchedule{
|
||||
@ -218,7 +218,7 @@ func TestSetWorkerSleepScheduleNextCheck(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestFetchSleepSchedulesToCheck(t *testing.T) {
|
||||
ctx, finish, db := persistenceTestFixtures(t, 1*time.Second)
|
||||
ctx, finish, db := persistenceTestFixtures(1 * time.Second)
|
||||
defer finish()
|
||||
|
||||
mockedNow := mustParseTime("2022-06-07T11:14:47+02:00").UTC()
|
||||
|
@ -16,7 +16,7 @@ import (
|
||||
)
|
||||
|
||||
func TestCreateFetchWorker(t *testing.T) {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, 1*time.Second)
|
||||
ctx, cancel, db := persistenceTestFixtures(1 * time.Second)
|
||||
defer cancel()
|
||||
|
||||
// Test fetching non-existent worker
|
||||
@ -54,7 +54,7 @@ func TestCreateFetchWorker(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestFetchWorkerTask(t *testing.T) {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, 10*time.Second)
|
||||
ctx, cancel, db := persistenceTestFixtures(10 * time.Second)
|
||||
defer cancel()
|
||||
|
||||
// Worker without task.
|
||||
@ -135,7 +135,7 @@ func TestFetchWorkerTask(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestSaveWorker(t *testing.T) {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, 1*time.Second)
|
||||
ctx, cancel, db := persistenceTestFixtures(1 * time.Second)
|
||||
defer cancel()
|
||||
|
||||
w := Worker{
|
||||
@ -190,7 +190,7 @@ func TestSaveWorker(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestFetchWorkers(t *testing.T) {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, 1*time.Second)
|
||||
ctx, cancel, db := persistenceTestFixtures(1 * time.Second)
|
||||
defer cancel()
|
||||
|
||||
// No workers
|
||||
@ -250,7 +250,7 @@ func TestFetchWorkers(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestDeleteWorker(t *testing.T) {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, 1*time.Second)
|
||||
ctx, cancel, db := persistenceTestFixtures(1 * time.Second)
|
||||
defer cancel()
|
||||
|
||||
// Test deleting non-existent worker
|
||||
@ -315,7 +315,7 @@ func TestDeleteWorker(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestDeleteWorkerNoForeignKeys(t *testing.T) {
|
||||
ctx, cancel, db := persistenceTestFixtures(t, 1*time.Second)
|
||||
ctx, cancel, db := persistenceTestFixtures(1 * time.Second)
|
||||
defer cancel()
|
||||
|
||||
// Create a Worker to delete.
|
||||
|
Loading…
Reference in New Issue
Block a user