22341d9f9e935e2adb290488f5321fee77e770c3
mspeir
  Fri Jan 13 11:18:00 2017 -0800
Adding helper script that runs qaAutoTrack.sh for all current autopushed tracks. Updating makefile so that this new script will be copied when make is run. refs #12561

diff --git src/utils/qa/runQaAutoTrack.sh src/utils/qa/runQaAutoTrack.sh
new file mode 100755
index 0000000..b7a4dff
--- /dev/null
+++ src/utils/qa/runQaAutoTrack.sh
@@ -0,0 +1,114 @@
+#!/bin/bash
+# quit if something within the script fails
+set -beEu -o pipefail
+source `which qaConfig.bash`
+umask 002
+
+################################
+#
+#  01-13-2017
+#  Matthew Speir
+#
+#  runQaAutoTrack.sh
+#  Runs script bin/qaAutoTrack.sh for 
+#  various autopushed tracks
+#
+#  Runs day after track is supposed
+#  to be updated for most tracks
+#
+################################
+
+# Set current day of the week
+# Needed to determine which tracks to test
+dayOfWeek=$(date +%A)
+# Set date used to delete logs older than this. 
+# Currently set to 6mo ago
+logTooOld=$(date --date="-6 months" +%F)
+# Where qaAutoTrack is placing the results
+logDir=""
+
+usage="""
+Runs script qaAutoTrack.sh for various autopushed tracks.\n
+Runs day after track is supposed to be updated for most tracks.\n\n
+usage:`basename $0` go logDirectory\n\n
+logDirectory is directory where output files are being placed by qaAutoTrack.sh.
+This script will remove files older than 6 months from that directory.
+"""
+# Print really basic usage statement
+if (( $# < 1 )) || (( $# > 2 ))
+then
+	echo -e $usage
+	exit 1
+elif (( $# == 1 ))
+then
+        runScript=$1
+elif (( $# == 2 ))
+then
+	# Check if logDirectory exists
+	if [ -d $2 ]
+	then
+        	runScript="$1"
+		logDir="$2"
+	else
+		echo -e "Sorry, directory \"$2\" does not exist. "
+		echo -e "Check spelling or create this directory and try again.\n"
+		exit 1
+	fi
+fi
+
+if [[ $logDir == "" ]]
+then
+	logDir="/usr/local/apache/htdocs-genecats/qa/test-results/qaAutoTrackLogs"
+fi
+
+# Print usage statement if the supplied argument isn't "go"
+if [[ $runScript != "go" ]]
+then
+	echo -e $usage
+	exit 1
+# Run qaAutoTrack.sh for different tracks depending on the day of the week
+else
+	if [ -e  "$logDir/*.txt" ]
+	then
+		# Identify log files that are greater than 6 months old
+		# $1, $2, $3, and $4 are the db, table, date, and time respectively
+		oldLogFiles=$(ls $logDir/*.txt | awk -v ymdOld=$logTooOld -F'.' '$3 <= ymdOld {print $1"."$2"."$3"."$4"."$5}')
+		# Remove these old log files
+		# Prevents log file directory from becoming overstuffed with files
+		for file in $(echo $oldLogFiles)
+		do
+			rm $file.txt
+		done
+	fi
+
+	if [[ $dayOfWeek == "Monday" ]]
+	then
+		qaAutoTrack.sh hg19 isca 
+		qaAutoTrack.sh hg38 isca 
+		qaAutoTrack.sh hg19 decipher 
+		qaAutoTrack.sh hg19 geneReviews 
+		qaAutoTrack.sh hg38 geneReviews 
+	elif [[ $dayOfWeek == "Tuesday" ]]
+	then
+		qaAutoTrack.sh hg18 lovd 
+		qaAutoTrack.sh hg19 gwasCatalog 
+		qaAutoTrack.sh hg38 gwasCatalog 
+	elif [[ $dayOfWeek == "Wednesday" ]]
+	then
+
+		qaAutoTrack.sh -b danRer7 grcIncidentDb
+		qaAutoTrack.sh -b hg19 grcIncidentDb
+		qaAutoTrack.sh -b hg38 grcIncidentDb
+		qaAutoTrack.sh -b mm9 grcIncidentDb
+		qaAutoTrack.sh -b mm10 grcIncidentDb
+	elif [[ $dayOfWeek == "Thursday" ]]
+	then
+		qaAutoTrack.sh hg19 omim 
+		qaAutoTrack.sh hg38 omim 
+		qaAutoTrack.sh -b hg19 clinvar
+		qaAutoTrack.sh -b hg38 clinvar
+	elif [[ $dayOfWeek == "Friday" ]]
+	then
+		qaAutoTrack.sh hg38 refGene
+	fi
+fi