bad1c2af619824bbeff311b8f0b97d3dc75f9260
markd
  Thu Dec 21 00:45:15 2023 -0800
Work on being able to run tests in parallel.  Due to timing, it might still have issues

diff --git src/hg/lib/tests/genePredTests.mk src/hg/lib/tests/genePredTests.mk
index 5ee15ed..3ba6cd2 100644
--- src/hg/lib/tests/genePredTests.mk
+++ src/hg/lib/tests/genePredTests.mk
@@ -1,25 +1,26 @@
 # makefile with genePred and genePredReader tests
 include ../../../inc/common.mk
 
 BIN_DIR = bin/$(MACHTYPE)
 GENE_PRED_TESTER = ${BIN_DIR}/genePredTester
 EXP_DIR = expected/genePred
 OUT_DIR = output/genePred
 DB=hg15
 TEST_TBL=gpTest_${USER}
 
+.NOTPARALLEL:  # table is used by multiple tests
 
 # Data file used by tests:
 #   - refSeq.psl - selected RefSeq  PSLs used to generate genePred, some chosen
 #     because of frame problems, etc.
 #   - refSeq.cds - CDS for above.
 #   - refSeqMin.gp - miminmal genePred, only required columns
 #   - refSeqId.gp - with score
 #   - refSeqIdName2.gp - with score, name2
 #   - refSeqFrame.gp - with id, name2, cdsStat and frame fields (from mrnaToGene)
 #   - acembly.gff - data files used to build various tracks
 #   - tigr.gff
 #   - twinscan.gtf
 #   - vegaGene.gtf
 #   - vegaPseudo.gtf
 #   - ncbi.gff - part GTF part GFF generated by NCBI
@@ -60,31 +61,30 @@
 # Expects the following variables to be set:
 #  id - test id
 #  inGp - genePred (omitting dir)
 #  opts - genePredTester options to add
 doFileTest: mkout
 	${GENE_PRED_TESTER} ${opts} -needRows=5 -output=${OUT_DIR}/${id}.gp -info=${OUT_DIR}/${id}.info readFile input/genePred/${inGp}
 	diff -u input/genePred/${inGp} ${OUT_DIR}/${id}.gp
 	diff -u expected/genePred/${id}.info ${OUT_DIR}/${id}.info
 	genePredCheck -verbose=0 ${OUT_DIR}/${id}.gp
 
 ###
 # Test of loading and reading database tables.  When ids are not auto-assigned,
 # then compare with input file, otherwise, we need an expected file.
 ###
 tableTests: tableMinTest tableIdTest tableIdName2Test tableFrameTest tableFrameStatTest
-	hgsql -e "drop table if exists ${TEST_TBL}" ${DB}
 
 doTableTest = ${MAKE} -f genePredTests.mk doTableTest
 
 tableMinTest:
 	${doTableTest} id=$@ inGp=refSeqMin.gp expGp=input/genePred/refSeqMin.gp
 
 tableIdTest:
 	${doTableTest} id=$@ inGp=refSeqId.gp opts="-scoreFld" expGp=input/genePred/refSeqId.gp
 
 tableIdName2Test:
 	${doTableTest} id=$@ inGp=refSeqIdName2.gp opts="-scoreFld -name2Fld" expGp=input/genePred/refSeqIdName2.gp
 
 tableFrameTest:
 	${doTableTest} id=$@ inGp=refSeqFrame.gp opts="-cdsStatFld -exonFramesFld" expGp=expected/genePred/tableFrameTest.gp
 
@@ -239,15 +239,19 @@
 
 # recursive target for GFF/GTF tests
 #  id - test id
 #  what - fromGtf or fromGff
 #  inFile - base name for GFF/GTF file
 #  opts - genePredTester options to add
 #  readOpts - special options for readFile
 doFromGxfTest: mkout
 	${GENE_PRED_TESTER} ${opts} -output=${OUT_DIR}/${id}.gp ${what} input/genePred/${inBase}
 	${GENE_PRED_TESTER} ${readOpts} readFile ${OUT_DIR}/${id}.gp
 	diff -u ${EXP_DIR}/${id}.gp ${OUT_DIR}/${id}.gp
 	genePredCheck -verbose=0 ${OUT_DIR}/${id}.gp
 
 mkout:
 	@${MKDIR} ${OUT_DIR}
+
+clean::
+	@rm -rf ${OUT_DIR}
+	hgsql -e "drop table if exists ${TEST_TBL}" ${DB}