blob: 00aca199dfc77b2a9ae16e5d4a7a593b033ed66f [file] [log] [blame]
Benjamin Peterson90f5ba52010-03-11 22:53:45 +00001#!/usr/bin/env python3
Jeremy Hylton5d8a88a2007-08-14 16:47:39 +00002
Raymond Hettinger57d1a882011-02-23 00:46:28 +00003import collections.abc
Neal Norwitz64018ae2008-03-24 05:51:45 +00004import errno
5import socket
6import sys
Jeremy Hylton5d8a88a2007-08-14 16:47:39 +00007import unittest
Benjamin Petersonee8712c2008-05-20 21:35:26 +00008from test import support
Jeremy Hylton5d8a88a2007-08-14 16:47:39 +00009
Georg Brandl24420152008-05-26 16:32:26 +000010import xmlrpc.client as xmlrpclib
Jeremy Hylton5d8a88a2007-08-14 16:47:39 +000011
R David Murrayaaf17b32013-10-11 12:09:51 -040012class PythonBuildersTest(unittest.TestCase):
Jeremy Hylton5d8a88a2007-08-14 16:47:39 +000013
Antoine Pitrou305c6b82009-11-03 17:13:59 +000014 def test_python_builders(self):
15 # Get the list of builders from the XMLRPC buildbot interface at
16 # python.org.
Georg Brandl26af3b22012-06-24 20:06:54 +020017 server = xmlrpclib.ServerProxy("http://buildbot.python.org/all/xmlrpc/")
Antoine Pitrou305c6b82009-11-03 17:13:59 +000018 try:
19 builders = server.getAllBuilders()
Andrew Svetlov0832af62012-12-18 23:10:48 +020020 except OSError as e:
Antoine Pitrou305c6b82009-11-03 17:13:59 +000021 self.skipTest("network error: %s" % e)
22 return
Antoine Pitrouf1c141b2011-11-28 21:14:46 +010023 self.addCleanup(lambda: server('close')())
Antoine Pitrou305c6b82009-11-03 17:13:59 +000024
25 # Perform a minimal sanity check on the result, just to be sure
26 # the request means what we think it means.
Raymond Hettinger57d1a882011-02-23 00:46:28 +000027 self.assertIsInstance(builders, collections.abc.Sequence)
Brett Cannonc84dc9d2010-07-05 22:11:16 +000028 self.assertTrue([x for x in builders if "3.x" in x], builders)
Antoine Pitrou305c6b82009-11-03 17:13:59 +000029
Jeremy Hylton5d8a88a2007-08-14 16:47:39 +000030
31def test_main():
Benjamin Petersonee8712c2008-05-20 21:35:26 +000032 support.requires("network")
R David Murrayaaf17b32013-10-11 12:09:51 -040033 support.run_unittest(PythonBuildersTest)
Jeremy Hylton5d8a88a2007-08-14 16:47:39 +000034
35if __name__ == "__main__":
36 test_main()