def METHOD_NAME(self):
    # get_versions calls distutils.spawn.find_executable on
    # 'gcc', 'ld' and 'dllwrap'
    self.assertEqual(get_versions(), (None, None, None))
    # Let's fake we have 'gcc' and it returns '3.4.5'
    self._exes['gcc'] = b'gcc (GCC) 3.4.5 (mingw special)\nFSF'
    res = get_versions()
    self.assertEqual(str(res[0]), '3.4.5')
    # and let's see what happens when the version
    # doesn't match the regular expression
    # (\d+\.\d+(\.\d+)*)
    self._exes['gcc'] = b'very strange output'
    res = get_versions()
    self.assertEqual(res[0], None)
    # same thing for ld
    self._exes['ld'] = b'GNU ld version 2.17.50 20060824'
    res = get_versions()
    self.assertEqual(str(res[1]), '2.17.50')
    self._exes['ld'] = b'@(#)PROGRAM:ld  PROJECT:ld64-77'
    res = get_versions()
    self.assertEqual(res[1], None)
    # and dllwrap
    self._exes['dllwrap'] = b'GNU dllwrap 2.17.50 20060824\nFSF'
    res = get_versions()
    self.assertEqual(str(res[2]), '2.17.50')
    self._exes['dllwrap'] = b'Cheese Wrap'
    res = get_versions()
    self.assertEqual(res[2], None)