blob: f3bef0a17ca5a8f973f177aded99e4e5ee4a07d0 [file] [log] [blame]
#!/usr/bin/python
import os
import sys
import time
import datetime
import ccdash
INTERVAL = 300
def run_scenarios(scenarios, group):
# Run each scenario
rc = 0
for scenario in scenarios:
argv = []
argv.append("ccdash.py")
argv.append("scenario")
argv.append(scenario)
argv.append("--group")
argv.append(group)
thisrc = ccdash.main(argv)
if rc==0 and thisrc:
rc = thisrc
return rc
if __name__ == "__main__":
if len(sys.argv)<=1 or sys.argv[1]=="-h" or sys.argv[1]=="--h" or sys.argv[1]=="/h":
print "This will run both Continuous and Nightly tests"
print ""
print "Usage: run_continuous.py scenario1.xml [scenario2.xml ...]"
print ""
sys.exit(1)
# Splice list
scenarios = sys.argv[1:]
# Check if scenario exists
for scenario in scenarios:
if not os.path.exists(scenario):
print "Error: file " + scenario + " does not exist"
sys.exit(1)
# Current date
utc = time.gmtime(None)
day = utc.tm_mday
# Loop foreva
while True:
argv = []
# Anything changed recently?
argv.append("ccdash.py")
argv.append("status")
argv.append("-w")
argv.append("../..")
rc = ccdash.main(argv)
utc = time.gmtime(None)
if utc.tm_mday != day or rc != 0:
group = ""
if utc.tm_mday != day:
day = utc.tm_mday
group = "Nightly"
elif rc != 0:
group = "Continuous"
else:
group = "Experimental"
rc = run_scenarios(scenarios, group)
# Sleep even if something does change
print str(datetime.datetime.now()) + \
": done running " + group + \
"tests, will check again in " + str(INTERVAL) + "s.."
time.sleep(INTERVAL)
else:
# Nothing changed
print str(datetime.datetime.now()) + \
": No update, will check again in " + str(INTERVAL) + "s.."
time.sleep(INTERVAL)