blob: b60b82f3e232fa5c0d8bf22ef2e2b3432a6c39e2 [file] [log] [blame]
Raymond Hettinger57d1a882011-02-23 00:46:28 +00001import collections.abc
Neal Norwitz64018ae2008-03-24 05:51:45 +00002import errno
3import socket
4import sys
Jeremy Hylton5d8a88a2007-08-14 16:47:39 +00005import unittest
Benjamin Petersonee8712c2008-05-20 21:35:26 +00006from test import support
Jeremy Hylton5d8a88a2007-08-14 16:47:39 +00007
Georg Brandl24420152008-05-26 16:32:26 +00008import xmlrpc.client as xmlrpclib
Jeremy Hylton5d8a88a2007-08-14 16:47:39 +00009
R David Murrayaaf17b32013-10-11 12:09:51 -040010class PythonBuildersTest(unittest.TestCase):
Jeremy Hylton5d8a88a2007-08-14 16:47:39 +000011
Antoine Pitrou305c6b82009-11-03 17:13:59 +000012 def test_python_builders(self):
13 # Get the list of builders from the XMLRPC buildbot interface at
14 # python.org.
Georg Brandl26af3b22012-06-24 20:06:54 +020015 server = xmlrpclib.ServerProxy("http://buildbot.python.org/all/xmlrpc/")
Antoine Pitrou305c6b82009-11-03 17:13:59 +000016 try:
17 builders = server.getAllBuilders()
Andrew Svetlov0832af62012-12-18 23:10:48 +020018 except OSError as e:
Antoine Pitrou305c6b82009-11-03 17:13:59 +000019 self.skipTest("network error: %s" % e)
Antoine Pitrouf1c141b2011-11-28 21:14:46 +010020 self.addCleanup(lambda: server('close')())
Antoine Pitrou305c6b82009-11-03 17:13:59 +000021
22 # Perform a minimal sanity check on the result, just to be sure
23 # the request means what we think it means.
Raymond Hettinger57d1a882011-02-23 00:46:28 +000024 self.assertIsInstance(builders, collections.abc.Sequence)
Brett Cannonc84dc9d2010-07-05 22:11:16 +000025 self.assertTrue([x for x in builders if "3.x" in x], builders)
Antoine Pitrou305c6b82009-11-03 17:13:59 +000026
Jeremy Hylton5d8a88a2007-08-14 16:47:39 +000027
28def test_main():
Benjamin Petersonee8712c2008-05-20 21:35:26 +000029 support.requires("network")
R David Murrayaaf17b32013-10-11 12:09:51 -040030 support.run_unittest(PythonBuildersTest)
Jeremy Hylton5d8a88a2007-08-14 16:47:39 +000031
32if __name__ == "__main__":
33 test_main()