blob: f3652b86f75102431c26908a10cc58f5d96e7905 [file] [log] [blame]
Raymond Hettinger57d1a882011-02-23 00:46:28 +00001import collections.abc
Jeremy Hylton5d8a88a2007-08-14 16:47:39 +00002import unittest
Benjamin Petersonee8712c2008-05-20 21:35:26 +00003from test import support
Jeremy Hylton5d8a88a2007-08-14 16:47:39 +00004
Georg Brandl24420152008-05-26 16:32:26 +00005import xmlrpc.client as xmlrpclib
Jeremy Hylton5d8a88a2007-08-14 16:47:39 +00006
Zachary Ware73ffd3f2017-10-08 01:31:23 -05007
8@unittest.skip('XXX: buildbot.python.org/all/xmlrpc/ is gone')
R David Murrayaaf17b32013-10-11 12:09:51 -04009class PythonBuildersTest(unittest.TestCase):
Jeremy Hylton5d8a88a2007-08-14 16:47:39 +000010
Antoine Pitrou305c6b82009-11-03 17:13:59 +000011 def test_python_builders(self):
12 # Get the list of builders from the XMLRPC buildbot interface at
13 # python.org.
Georg Brandl26af3b22012-06-24 20:06:54 +020014 server = xmlrpclib.ServerProxy("http://buildbot.python.org/all/xmlrpc/")
Antoine Pitrou305c6b82009-11-03 17:13:59 +000015 try:
16 builders = server.getAllBuilders()
Andrew Svetlov0832af62012-12-18 23:10:48 +020017 except OSError as e:
Antoine Pitrou305c6b82009-11-03 17:13:59 +000018 self.skipTest("network error: %s" % e)
Antoine Pitrouf1c141b2011-11-28 21:14:46 +010019 self.addCleanup(lambda: server('close')())
Antoine Pitrou305c6b82009-11-03 17:13:59 +000020
21 # Perform a minimal sanity check on the result, just to be sure
22 # the request means what we think it means.
Raymond Hettinger57d1a882011-02-23 00:46:28 +000023 self.assertIsInstance(builders, collections.abc.Sequence)
Brett Cannonc84dc9d2010-07-05 22:11:16 +000024 self.assertTrue([x for x in builders if "3.x" in x], builders)
Antoine Pitrou305c6b82009-11-03 17:13:59 +000025
Jeremy Hylton5d8a88a2007-08-14 16:47:39 +000026
27def test_main():
Benjamin Petersonee8712c2008-05-20 21:35:26 +000028 support.requires("network")
R David Murrayaaf17b32013-10-11 12:09:51 -040029 support.run_unittest(PythonBuildersTest)
Jeremy Hylton5d8a88a2007-08-14 16:47:39 +000030
31if __name__ == "__main__":
32 test_main()