b31907d700c1fe956e4e4c20e64d91de027d7c84
markd
  Tue May 14 02:03:33 2024 -0700
merge blatHuge implementation

diff --git src/gfServer/tests/makefile src/gfServer/tests/makefile
new file mode 100644
index 0000000..21922c5
--- /dev/null
+++ src/gfServer/tests/makefile
@@ -0,0 +1,113 @@
+kentSrc = ../..
+include $(kentSrc)/inc/common.mk
+
+# tests get assign different ports so they can run in parallel
+gfServerHuge = gfServerHuge
+ifeq (${IDXSIZE},huge)
+gfServer = ${gfServerHuge}
+portOffset = 1
+else
+gfServer = gfServerHuge
+portOffset = 0
+endif
+
+test::
+	${MAKE} test_idxsize
+	${MAKE} test_idxsize IDXSIZE=huge
+	@echo "Note: to run tests on a 40 gbase genome run: make hugeTests" 
+
+# recursive target based on index size.  Indvidual rules can
+# be run for debugging
+test_idxsize: \
+    directNibTest \
+    directTwoBitTest \
+    protNibTest \
+    protTwoBitTest \
+    transNibTest \
+    transTwoBitTest \
+    pcrTest \
+    indexFileTest \
+    indexFileTransTest \
+    dynServerTest \
+    dynServerTransTest \
+    dynServerWithDirTest \
+    dynServerPerSeqMaxTest
+
+
+directNibTest: mkdirs
+	${gfServer} direct input/mCrea.mrna input/hCreaGeno.nib \
+		input/mCreaGeno.nib > output/$@.out
+	diff expected/$@.out output/$@.out
+directTwoBitTest: mkdirs
+	${gfServer} direct input/mCrea.mrna input/creaGeno.2bit \
+		>output/$@.out
+	diff expected/$@.out output/$@.out
+protNibTest: mkdirs
+	./bin/testProtNib ${gfServer} $(shell expr 17768 + ${portOffset})
+protTwoBitTest: mkdirs
+	./bin/testProtTwoBit ${gfServer} $(shell expr 17770 + ${portOffset})
+transNibTest: mkdirs
+	./bin/testTransNib ${gfServer} $(shell expr 17772 + ${portOffset})
+transTwoBitTest: mkdirs
+	./bin/testTransTwoBit ${gfServer} $(shell expr 17774 + ${portOffset})
+pcrTest: mkdirs
+	./bin/testPcr ${gfServer}
+indexFileTest: mkdirs
+	./bin/testIndexFile ${gfServer}  $(shell expr 17780 + ${portOffset})
+indexFileTransTest: mkdirs
+	./bin/testIndexFileTrans ${gfServer} $(shell expr 17782 + ${portOffset})
+dynServerTest: mkdirs
+	./bin/testDynServer ${gfServer}
+dynServerTransTest: mkdirs
+	./bin/testDynServerTrans ${gfServer}
+dynServerWithDirTest: mkdirs
+	./bin/testDynServerWithDir ${gfServer}
+dynServerPerSeqMaxTest: mkdirs
+	./bin/testDynServerPerSeqMax ${gfServer}
+
+##
+# tests using a huge genome requring 64-bit offsets
+##
+hugeAcc = GCF_019279795.1
+hugeRelDir = GCF/019/279/795/${hugeAcc}
+hugeSrcRoot = /hive/data/genomes/asmHubs
+hugeSrcDir = ${hugeSrcRoot}/${hugeRelDir}
+hugeSrc2bit = ${hugeSrcDir}/${hugeAcc}.2bit
+
+hugeTestDir = output/huge/${hugeRelDir}
+hugeTest2bit = ${hugeTestDir}/${hugeAcc}.2bit
+hugeTestUntransIdx = ${hugeTestDir}/${hugeAcc}.untrans.gfidx
+hugeTestTransIdx = ${hugeTestDir}/${hugeAcc}.trans.gfidx
+
+# expensive test only run manually for now once indexs are deployed on hgwdev,
+# this could be part of the standard run
+
+hugeTests: testHugeUntrans testHugeTrans testHugeProt
+
+testHugeUntrans: mkdirs ${hugeTestUntransIdx}
+	time -p ./bin/runHugeTest ${gfServerHuge} $(shell expr 17790 + ${portOffset}) untrans ${hugeTest2bit} ${hugeTestUntransIdx} input/lungfish.rna.fa $@
+
+testHugeTrans: mkdirs ${hugeTestTransIdx}
+	time -p ./bin/runHugeTest ${gfServerHuge} $(shell expr 17791 + ${portOffset}) trans ${hugeTest2bit} ${hugeTestTransIdx} input/lungfish.rna.fa $@
+
+testHugeProt: mkdirs ${hugeTestTransIdx}
+	time -p ./bin/runHugeTest ${gfServerHuge} $(shell expr 17792 + ${portOffset}) prot ${hugeTest2bit} ${hugeTestTransIdx} input/lungfish.prot.fa $@
+
+
+# setup for huge tests
+${hugeTestUntransIdx}: ${hugeTest2bit}
+	${gfServerHuge} index $@ $<
+
+${hugeTestTransIdx}: ${hugeTest2bit}
+	${gfServerHuge} index -trans $@ $<
+
+${hugeTest2bit}: ${hugeSrc2bit}
+	@mkdir -p $(dir $@)
+	ln -sf $< $@
+
+mkdirs:
+	${MKDIR} output
+
+
+clean::
+	rm -rf output