diff --git a/coderd/database/generate.sh b/coderd/database/generate.sh index c5c9c0c12eb4b..3fc5111a2bc2e 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 0000000000000..ed0629b7082e1 --- /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 a3c37683ac2c8..4882c77c17889 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"