c2ccba5df5a576a379bc4e8a6a3d7a7aee8aadb7
hiram
  Tue Apr 23 13:06:07 2019 -0700
now covering all error exits in hubApi.c refs #18869

diff --git src/hg/hubApi/tests/makefile src/hg/hubApi/tests/makefile
index 0a1f440..6447d3d 100644
--- src/hg/hubApi/tests/makefile
+++ src/hg/hubApi/tests/makefile
@@ -4,32 +4,32 @@
 	test21 test22 test23 test26 \
 	test27 test28 test29 test30 \
 	test31 test39 test40 \
 	test41 test42 test42 getSequence errorTests
 
 all:: listFunctions getFunctions getSequence errorTests
 
 listFunctions:	test1 test2 test3 test4 test5 test22 test23 test30 test31
 
 getFunctions: test6 test7 test8 test9 test10 test11 test12 test13 test14 \
 	test15 test16 test17 test18 test19 test21 test26 test27 test28 \
 	test29 test39 test40 test41 test42
 
 getSequence: getSeq01 getSeq02 getSeq03
 
-errorTests: err01 err02 err03 err04 err05 err06 err07 err08 err09 \
-	err10 err11
+errorTests: err01 err02 err03 err04 err05 err06 err07 err08 err09 err10 \
+	err11 err12 err13 err14 err15 err16
 
 setOutput:
 	@if [ ! -d testOutput ]; then mkdir testOutput; fi
 
 clean::
 	rm -f testOutput/*.gz
 	rmdir testOutput
 
 # exclude these lines from the JSON output for comparison with expected
 excludeLines = downloadTime|dataTime
 
 # testing /list/noSubCommand, /list/publicHubs and /list/ucscGenomes
 test0: setOutput
 	@./jsonConsumer.pl -test0 2>&1 | sed -e 's#https://.*/list#/list#;' | egrep -v "${excludeLines}" | gzip -c > testOutput/$@.gz
 	@zdiff expected/$@.gz testOutput/$@.gz
@@ -195,37 +195,30 @@
 	@./jsonConsumer.pl -jsonOutputArrays -maxItemsOutput=123 -endpoint="/getData/track" -db="ce4" -track="gold" | egrep -v "${excludeLines}" | gzip -c > testOutput/$@.gz
 	@zdiff expected/$@.gz testOutput/$@.gz
 
 # testing /getData/track?db=ce11&track=gc5BaseBw - bigWig data output
 # plus jsonArrayOutput
 test41: setOutput
 	@./jsonConsumer.pl -jsonOutputArrays -maxItemsOutput=123 -endpoint="/getData/track" -db="ce11" -track="gc5BaseBw" | egrep -v "${excludeLines}" | gzip -c > testOutput/$@.gz
 	@zdiff expected/$@.gz testOutput/$@.gz
 
 # testing /getData/track?db=ce6&track=gc5Base - wiggle database table
 # plus jsonArrayOutput
 test42: setOutput
 	@./jsonConsumer.pl -jsonOutputArrays -maxItemsOutput=123 -endpoint="/getData/track" -db="ce6" -track="gc5Base" | egrep -v "${excludeLines}" | gzip -c > testOutput/$@.gz
 	@zdiff expected/$@.gz testOutput/$@.gz
 
-# testing /getData/track?db=cxe6&track=gc5Base - error test illegal database
-# plus jsonArrayOutput
-err11: setOutput
-	@./jsonConsumer.pl -jsonOutputArrays -maxItemsOutput=123 -endpoint="/getData/track" -db="cxe6" 2>&1 -track="gc5Base" | egrep -v "${excludeLines}" | sed -e 's#https://.*/getData#/getData#;' | gzip -c > testOutput/$@.gz
-	@zdiff expected/$@.gz testOutput/$@.gz
-	@echo '### err11 ./jsonConsumer.pl -jsonOutputArrays -maxItemsOutput=123 -endpoint="/getData/track" -db="cxe6" 2>&1 -track="gc5Base"'
-
 ###############################################################################
 #  /getData/sequence testing
 ###############################################################################
 # testing /getData/sequence? hubUrl genome=hg19&chrom=chrCp&start=4321&end=5647
 getSeq01: setOutput
 	@printf "### $@ "
 	@./jsonConsumer.pl -endpoint="/getData/sequence" -hubUrl="http://genome-test.gi.ucsc.edu/~hiram/hubs/Plants/hub.txt" -genome="_araTha1" -chrom="chrCp" -start=4321 -end=5678 | egrep -v "${excludeLines}" | gzip -c > testOutput/$@.gz
 	@zdiff expected/$@.gz testOutput/$@.gz
 
 # testing /getData/sequence? hubUrl Bejerano genome=hg19&chrom=chrM&start=4321&end=5647
 getSeq02: setOutput
 	@printf "### $@ "
 	@./jsonConsumer.pl -endpoint="/getData/sequence" -hubUrl="http://genome-test.gi.ucsc.edu/~hiram/hubs/GillBejerano/hub.txt" -genome="hg19" -chrom="chrM" -start=4321 -end=5678 | egrep -v "${excludeLines}" | gzip -c > testOutput/$@.gz
 	@zdiff expected/$@.gz testOutput/$@.gz
 
@@ -288,15 +281,57 @@
 	@zdiff expected/$@.gz testOutput/$@.gz
 
 # testing /getData/sequence?db=cxe6 - error test illegal database name
 # plus jsonArrayOutput
 err09: setOutput
 	@printf "### $@ https://hgwdev-api.gi.ucsc.edu/getData/sequence?db=cxe6;jsonOutputArrays=1;maxItemsOutput=123\n"
 	@./jsonConsumer.pl -jsonOutputArrays -maxItemsOutput=123 -endpoint="/getData/sequence" -db="cxe6" 2>&1 | egrep -v "${excludeLines}" | sed -e 's#https://.*/getData#/getData#;' | gzip -c > testOutput/$@.gz
 	@zdiff expected/$@.gz testOutput/$@.gz
 
 # testing /list/tracks?db=cxe6 - error test illegal database name
 # plus jsonArrayOutput
 err10: setOutput
 	@printf "### $@ https://hgwdev-api.gi.ucsc.edu/list/tracks?db=cxe6;jsonOutputArrays=1;maxItemsOutput=123\n"
 	@./jsonConsumer.pl -jsonOutputArrays -maxItemsOutput=123 -endpoint="/list/tracks" -db="cxe6" 2>&1 | egrep -v "${excludeLines}" | sed -e 's#https://.*/list#/list#;' | gzip -c > testOutput/$@.gz
 	@zdiff expected/$@.gz testOutput/$@.gz
+
+# testing /getData/track?db=ce6 - error test illegal maxItemsOutput
+err11: setOutput
+	@printf "### $@ https://hgwdev-api.gi.ucsc.edu/getData/track?db=ce6;track=gold;maxItemsOutput=1x23\n"
+	@./jsonConsumer.pl -maxItemsOutput=1x23 -endpoint="/getData/track" -db="ce6" -track=gold 2>&1 | egrep -v "${excludeLines}" | sed -e 's#https://.*/getData#/getData#;' | gzip -c > testOutput/$@.gz
+	@zdiff expected/$@.gz testOutput/$@.gz
+
+# testing /getData/track?db=ce6 - error test illegal maxItemsOutput
+err12: setOutput
+	@printf "### $@ https://hgwdev-api.gi.ucsc.edu/getData/track?db=ce6;track=gold;maxItemsOutput=-2\n"
+	@./jsonConsumer.pl -maxItemsOutput=-2 -endpoint="/getData/track" -db="ce6" -track=gold 2>&1 | egrep -v "${excludeLines}" | sed -e 's#https://.*/getData#/getData#;' | gzip -c > testOutput/$@.gz
+	@zdiff expected/$@.gz testOutput/$@.gz
+
+# testing /getData/track?db=ce6 - error test illegal maxItemsOutput
+err13: setOutput
+	@printf "### $@ https://hgwdev-api.gi.ucsc.edu/getData/track?db=ce6;track=gold;maxItemsOutput=0\n"
+	@./jsonConsumer.pl -maxItemsOutput=0 -endpoint="/getData/track" -db="ce6" -track=gold 2>&1 | egrep -v "${excludeLines}" | sed -e 's#https://.*/getData#/getData#;' | gzip -c > testOutput/$@.gz
+	@zdiff expected/$@.gz testOutput/$@.gz
+
+# testing /getData/track?db=ce6 - error test illegal maxItemsOutput
+err14: setOutput
+	@printf "### $@ https://hgwdev-api.gi.ucsc.edu/getData/track?db=ce6;track=gold;maxItemsOutput=0\n"
+	@./jsonConsumer.pl -maxItemsOutput=0 -endpoint="/getData/track" -db="ce6" -track=gold 2>&1 | egrep -v "${excludeLines}" | sed -e 's#https://.*/getData#/getData#;' | gzip -c > testOutput/$@.gz
+	@zdiff expected/$@.gz testOutput/$@.gz
+
+# testing /getData/tracks?db=ce6 - error test no such function on endpoint
+err15: setOutput
+	@printf "### $@ https://hgwdev-api.gi.ucsc.edu/getData/tracks?db=ce6;track=gold\n"
+	@./jsonConsumer.pl -endpoint="/getData/tracks" -db="ce6" -track=gold 2>&1 | egrep -v "${excludeLines}" | sed -e 's#https://.*/getData#/getData#;' | gzip -c > testOutput/$@.gz
+	@zdiff expected/$@.gz testOutput/$@.gz
+
+# testing /list/endpoints - error test no such function
+err16: setOutput
+	@printf "### $@ https://hgwdev-api.gi.ucsc.edu/list/endpoints\n"
+	@./jsonConsumer.pl -endpoint="/list/endpoints" 2>&1 | egrep -v "${excludeLines}" | sed -e 's#https://.*/list#/list#;' | gzip -c > testOutput/$@.gz
+	@zdiff expected/$@.gz testOutput/$@.gz
+
+# testing /list/endpoints - error test no such function
+err17: setOutput
+	@printf "### $@ https://hgwdev-api.gi.ucsc.edu/noSuchCommand\n"
+	@./jsonConsumer.pl -endpoint="/noSuchCommand" 2>&1 | egrep -v "${excludeLines}" | sed -e 's#https://.*/list#/list#;' | gzip -c > testOutput/$@.gz
+	@zdiff expected/$@.gz testOutput/$@.gz