diff --git a/coderd/database/generate.sh b/coderd/database/generate.sh index c5c9c0c12e..3fc5111a2b 100755 --- a/coderd/database/generate.sh +++ b/coderd/database/generate.sh @@ -58,6 +58,7 @@ SCRIPT_DIR=$(dirname "${BASH_SOURCE[0]}") go run golang.org/x/tools/cmd/goimports@latest -w queries.sql.go go run ../../scripts/dbgen - # This will error if a view is broken. - go test -run=TestViewSubset + # This will error if a view is broken. This is in it's own package to avoid + # stuff like dbmock breaking builds if it's out of date from the interface. + go test ./gentest ) diff --git a/coderd/database/gentest/doc.go b/coderd/database/gentest/doc.go new file mode 100644 index 0000000000..ed0629b708 --- /dev/null +++ b/coderd/database/gentest/doc.go @@ -0,0 +1,8 @@ +// Package gentest contains tests that are run at db generate time. These tests +// need to exist in their own package to avoid importing stuff that gets +// generated after the DB. +// +// E.g. if we put these tests in coderd/database, then we'd be importing dbmock +// which is generated after the DB and can cause type problems when building +// the tests. +package gentest diff --git a/coderd/database/models_test.go b/coderd/database/gentest/models_test.go similarity index 99% rename from coderd/database/models_test.go rename to coderd/database/gentest/models_test.go index a3c37683ac..4882c77c17 100644 --- a/coderd/database/models_test.go +++ b/coderd/database/gentest/models_test.go @@ -1,4 +1,4 @@ -package database_test +package gentest_test import ( "reflect"