722e46a2cca739fb7abe042315e8ca3c5e55f8f5
braney
  Wed Sep 23 14:25:15 2026 -0700
Run the hg/utils tests from make test, and fix the two that had gone red, no redmine

make test never reached hg/utils.  hg/makefile only descends into an app that
has a tests/makefile, and hg/utils has none, so the hubCheck, vcfToHgvs and
other hg/utils tests were skipped without a message.  Added utils to TEST_DIRS.

hubCheck stopped warning about a track with no description page after
1258d7f65e7.  A track with no page now keeps the empty string that
trackDbCustom.c sets, and hubCheck tested for NULL.  It now uses isEmpty().

badType gained a real error when 571aecdf42c stopped dropping tracks, and its
expected output was never updated.  vcfToHgvs stopLoss reads the live hg38
ncbiRefSeq tables, which now have 32 more transcripts and NM_153819.2.

diff --git src/hg/makefile src/hg/makefile
index 6b5591f3a90..8195e0e68fb 100644
--- src/hg/makefile
+++ src/hg/makefile
@@ -14,31 +14,31 @@
 	hgGeneGraph hgs hubApi hgPhyloPlace hgSearch
 
 ifdef LOWELAB
     BROWSER_BINS += $(HOME)/lowelab/src/browser/tooltip $(HOME)/lowelab/src/browser/chooseorg
 endif
 
 BROWSER_LOADERS = makeDb/hgLoadBed makeDb/hgLoadWiggle makeDb/hgLoadMaf utils/pslToBigPsl utils/hubCheck
 
 # encode3/encodeDataWarehouse disabled: htslib sam_write1 now warn_unused_result,
 # breaking -Werror in edwBamFilter/edwBamRemoveChrom/edwBamStats.
 #ifneq ($(findstring $(shell hostname),hgwdev hgwbeta),)
 #    ENCODE_FILES = encode3/encodeDataWarehouse
 #endif
 
 # these should not be included in UTILS_APPLIST or parallel test runs will fail
-TEST_DIRS = lib
+TEST_DIRS = lib utils
 
 TEST_EXTRA = cgilib
 
 BROKEN_TEST_DIRS =  scaffoldFaToAgp
 
 BAD_DIRS = \
 	altGraph \
 	cgiExample \
 	geneOverlap \
 	hgBatch \
 	makeSeqs \
 	oneShot \
 	synMap \
 	encode \
 	wikiPlot