a414117b65aed2e9b7ff503f5f14fe98b9d27531
braney
  Tue Mar 31 15:57:37 2026 -0700
Add hubCheck test for bigBed field count mismatch, refs #36833

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

diff --git src/hg/utils/hubCheck/tests/makefile src/hg/utils/hubCheck/tests/makefile
index b55ca505bcf..44f71e8a224 100644
--- src/hg/utils/hubCheck/tests/makefile
+++ src/hg/utils/hubCheck/tests/makefile
@@ -1,80 +1,84 @@
 kentSrc = ../../../..
 include ../../../../inc/common.mk
 
 hubCheck = ${DESTBINDIR}/hubCheck
 
-test:: one two errors supertrackChild genomesErrors badType badSubgroups autoScale noLongLabel badGroups goodGroups noCompositeGroup allowWarnings seqNameCheck noSeqNameCheck selfParent dotInName
+test:: one two errors supertrackChild genomesErrors badType badSubgroups autoScale noLongLabel badGroups goodGroups noCompositeGroup allowWarnings seqNameCheck noSeqNameCheck selfParent dotInName fieldCountMismatch
 
 one:	mkout
 	-${hubCheck} input/hub1.txt > output/output1.txt
 	diff expected/output1.txt output/output1.txt
 
 two:	mkout
 	-${hubCheck} input/hub2.txt > output/output2.txt 2> /dev/null
 	diff expected/output2.txt output/output2.txt
 
 supertrackChild: mkout
 	-${hubCheck} input/supertrackChild.txt > output/supertrackChild.txt 2> /dev/null
 	diff expected/supertrackChild.txt output/supertrackChild.txt
 
 errors:	mkout
 	-${hubCheck} input/manyErrorsHub.txt > output/manyErrors.output.txt 2>/dev/null
 	diff expected/manyErrors.output.txt output/manyErrors.output.txt
 
 genomesErrors: mkout
 	-${hubCheck} input/genomesConfigErrorsHub.txt > output/genomesConfigErrors.output.txt 2>/dev/null
 	diff expected/genomesConfigErrors.output.txt output/genomesConfigErrors.output.txt
 
 badType: mkout
 	-${hubCheck} input/badType.txt > output/badType.output.txt 2>/dev/null
 	diff expected/badType.output.txt output/badType.output.txt
 
 badSubgroups: mkout
 	-${hubCheck} input/badSubGroups.txt > output/badSubGroups.output.txt 2>/dev/null
 	diff expected/badSubGroups.output.txt output/badSubGroups.output.txt
 
 autoScale: mkout
 	-${hubCheck} input/autoScaleHub.txt > output/autoScaleHub.output.txt 2>/dev/null
 	diff expected/autoScaleHub.txt output/autoScaleHub.output.txt
 
 noLongLabel:	mkout
 	-${hubCheck} input/noLongLabel.txt > output/noLongLabel.txt
 	diff expected/noLongLabel.txt output/noLongLabel.txt
 
 badGroups: mkout
 	-${hubCheck} input/badGroups.txt > output/badGroups.output.txt 2>/dev/null
 	diff expected/badGroups.output.txt output/badGroups.output.txt
 
 goodGroups: mkout
 	-${hubCheck} input/goodGroups.txt > output/goodGroups.output.txt
 	diff expected/goodGroups.output.txt output/goodGroups.output.txt
 
 noCompositeGroup: mkout
 	-${hubCheck} input/noCompositeGroup.txt > output/noCompositeGroup.output.txt 2>/dev/null
 	diff expected/noCompositeGroup.output.txt output/noCompositeGroup.output.txt
 
 allowWarnings: mkout
 	${hubCheck} -allowWarnings input/supertrackChild.txt > output/allowWarnings.output.txt 2> /dev/null
 	diff expected/allowWarnings.output.txt output/allowWarnings.output.txt
 
 seqNameCheck: mkout
 	-${hubCheck} input/seqNameHub.txt > output/seqNameCheck.output.txt 2>/dev/null
 	diff expected/seqNameCheck.output.txt output/seqNameCheck.output.txt
 
 noSeqNameCheck: mkout
 	-${hubCheck} -noSeqNameCheck input/seqNameHub.txt > output/noSeqNameCheck.output.txt 2>/dev/null
 	diff expected/noSeqNameCheck.output.txt output/noSeqNameCheck.output.txt
 
 selfParent: mkout
 	-${hubCheck} input/selfParent.txt > output/selfParent.output.txt 2>/dev/null
 	diff expected/selfParent.output.txt output/selfParent.output.txt
 
 dotInName: mkout
 	-${hubCheck} input/dotInName.txt > output/dotInName.output.txt 2>/dev/null
 	diff expected/dotInName.output.txt output/dotInName.output.txt
 
+fieldCountMismatch: mkout
+	-cd input && ${hubCheck} fieldCountMismatch.txt > ../output/fieldCountMismatch.output.txt 2>/dev/null
+	diff expected/fieldCountMismatch.output.txt output/fieldCountMismatch.output.txt
+
 mkout::
 	@mkdir -p output
 clean::
 	rm -rf output