Files
weave-scope/tools/sched
2016-07-12 14:21:55 +01:00

41 lines
1.2 KiB
Python
Executable File

#!/usr/bin/python
import sys, string, json, urllib
import requests
import optparse
def test_time(target, test_name, runtime):
r = requests.post(target + "/record/%s/%f" % (urllib.quote(test_name, safe=""), runtime))
print r.text
assert r.status_code == 204
def test_sched(target, test_run, shard_count, shard_id):
tests = json.dumps({'tests': string.split(sys.stdin.read())})
r = requests.post(target + "/schedule/%s/%d/%d" % (test_run, shard_count, shard_id), data=tests)
assert r.status_code == 200
result = r.json()
for test in sorted(result['tests']):
print test
def usage():
print "%s (--target=...) <cmd> <args..>" % sys.argv[0]
print " time <test name> <run time>"
print " sched <test run> <num shards> <shard id>"
def main():
parser = optparse.OptionParser()
parser.add_option('--target', default="http://positive-cocoa-90213.appspot.com")
options, args = parser.parse_args()
if len(args) < 3:
usage()
sys.exit(1)
if args[0] == "time":
test_time(options.target, args[1], float(args[2]))
elif args[0] == "sched":
test_sched(options.target, args[1], int(args[2]), int(args[3]))
else:
usage()
if __name__ == '__main__':
main()