mirror of
https://github.com/weaveworks/scope.git
synced 2026-03-03 02:00:43 +00:00
Add sched CLI and update readme.
This commit is contained in:
@@ -17,6 +17,8 @@ Included in this repo are tools shared by weave.git and scope.git. They include
|
||||
suffixed with the number of hosts it requires, and the hosts available are
|
||||
contained in the environment variable HOSTS, the tool will run tests in
|
||||
parallel, on different hosts.
|
||||
- ```scheduler```: an appengine application that can be used to distribute
|
||||
tests across different shards in CircleCI.
|
||||
|
||||
## Using build-tools.git
|
||||
|
||||
|
||||
38
sched
Executable file
38
sched
Executable file
@@ -0,0 +1,38 @@
|
||||
#!/usr/bin/python
|
||||
import sys, string, json, urllib
|
||||
import requests
|
||||
|
||||
BASE_URL="http://positive-cocoa-90213.appspot.com"
|
||||
|
||||
def test_time(test_name, runtime):
|
||||
r = requests.post(BASE_URL + "/record/%s/%f" % (urllib.quote(test_name, safe=""), runtime))
|
||||
print r.text
|
||||
assert r.status_code == 204
|
||||
|
||||
def test_sched(test_run, shard_count, shard_id):
|
||||
tests = json.dumps({'tests': string.split(sys.stdin.read())})
|
||||
r = requests.post(BASE_URL + "/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 <cmd> <args..>" % sys.argv[0]
|
||||
print " time <test name> <run time>"
|
||||
print " sched <test run> <num shards> <shard id>"
|
||||
|
||||
def main():
|
||||
if len(sys.argv) < 4:
|
||||
usage()
|
||||
sys.exit(1)
|
||||
|
||||
if sys.argv[1] == "time":
|
||||
test_time(sys.argv[2], float(sys.argv[3]))
|
||||
elif sys.argv[1] == "sched":
|
||||
test_sched(sys.argv[2], int(sys.argv[3]), int(sys.argv[4]))
|
||||
else:
|
||||
usage()
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
Reference in New Issue
Block a user