Mercurial > mozilla > hg > talosnames
annotate talosnames/main.py @ 61:cdfb5e300191
note in text if suites are disabled
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Tue, 14 Aug 2012 22:32:59 -0700 |
parents | 25e91fc7ff01 |
children |
rev | line source |
---|---|
0 | 1 #!/usr/bin/env python |
2 | |
3 """ | |
4 correlate names of talos | |
5 """ | |
6 | |
7 import api | |
13
323a01abd180
putting off this fun for later
Jeff Hammel <jhammel@mozilla.com>
parents:
12
diff
changeset
|
8 import optparse |
323a01abd180
putting off this fun for later
Jeff Hammel <jhammel@mozilla.com>
parents:
12
diff
changeset
|
9 import subprocess |
0 | 10 import sys |
7 | 11 from commandparser import CommandParser |
3 | 12 from pprint import pprint |
0 | 13 |
9 | 14 class TalosNamesCLI(object): |
7 | 15 def __init__(self): |
16 self.api = api.TalosNames() | |
17 | |
18 def graphserver(self, *names): | |
10 | 19 """give graphserver names from test names""" |
7 | 20 if not names: |
8
20c42ae0f7b7
switch to command parser, round 2
Jeff Hammel <jhammel@mozilla.com>
parents:
7
diff
changeset
|
21 names = [None] |
9 | 22 for arg in names: |
23 for name, graphserver_name in self.api(arg): | |
8
20c42ae0f7b7
switch to command parser, round 2
Jeff Hammel <jhammel@mozilla.com>
parents:
7
diff
changeset
|
24 print '%s : %s' % (name, graphserver_name) |
20c42ae0f7b7
switch to command parser, round 2
Jeff Hammel <jhammel@mozilla.com>
parents:
7
diff
changeset
|
25 print |
7 | 26 |
10 | 27 def tbpl(self, name): |
28 """give TBPL name given the buildbot config name""" | |
29 return self.api.tbpl_name(name) | |
30 | |
12
a4aa9f83e3be
adding a thing for commands
Jeff Hammel <jhammel@mozilla.com>
parents:
10
diff
changeset
|
31 def suites(self): |
a4aa9f83e3be
adding a thing for commands
Jeff Hammel <jhammel@mozilla.com>
parents:
10
diff
changeset
|
32 """list the buildbot suites""" |
a4aa9f83e3be
adding a thing for commands
Jeff Hammel <jhammel@mozilla.com>
parents:
10
diff
changeset
|
33 suites = sorted(self.api.suites.keys()) |
a4aa9f83e3be
adding a thing for commands
Jeff Hammel <jhammel@mozilla.com>
parents:
10
diff
changeset
|
34 return suites |
a4aa9f83e3be
adding a thing for commands
Jeff Hammel <jhammel@mozilla.com>
parents:
10
diff
changeset
|
35 |
a4aa9f83e3be
adding a thing for commands
Jeff Hammel <jhammel@mozilla.com>
parents:
10
diff
changeset
|
36 def command(self, suite): |
a4aa9f83e3be
adding a thing for commands
Jeff Hammel <jhammel@mozilla.com>
parents:
10
diff
changeset
|
37 """returns the command that buildbot runs for a particular suite""" |
13
323a01abd180
putting off this fun for later
Jeff Hammel <jhammel@mozilla.com>
parents:
12
diff
changeset
|
38 command = self.api.buildbot_command(suite) |
323a01abd180
putting off this fun for later
Jeff Hammel <jhammel@mozilla.com>
parents:
12
diff
changeset
|
39 assert command is not None, "Suite not found; should be one of %s" % ', '.join(self.suites()) |
323a01abd180
putting off this fun for later
Jeff Hammel <jhammel@mozilla.com>
parents:
12
diff
changeset
|
40 return subprocess.list2cmdline(command) |
12
a4aa9f83e3be
adding a thing for commands
Jeff Hammel <jhammel@mozilla.com>
parents:
10
diff
changeset
|
41 |
16 | 42 def tests(self, suite): |
15 | 43 """return the talos test config for a buildbot suite name""" |
17
25e91fc7ff01
getting the test config now works
Jeff Hammel <jhammel@mozilla.com>
parents:
16
diff
changeset
|
44 return self.api.test_config(suite) |
12
a4aa9f83e3be
adding a thing for commands
Jeff Hammel <jhammel@mozilla.com>
parents:
10
diff
changeset
|
45 |
3 | 46 def main(args=sys.argv[1:]): |
7 | 47 parser = CommandParser(TalosNamesCLI) |
48 parser.invoke(sys.argv[1:]) | |
49 | |
8
20c42ae0f7b7
switch to command parser, round 2
Jeff Hammel <jhammel@mozilla.com>
parents:
7
diff
changeset
|
50 if __name__ == '__main__': |
20c42ae0f7b7
switch to command parser, round 2
Jeff Hammel <jhammel@mozilla.com>
parents:
7
diff
changeset
|
51 main() |
20c42ae0f7b7
switch to command parser, round 2
Jeff Hammel <jhammel@mozilla.com>
parents:
7
diff
changeset
|
52 |