def _after_rendezvous(self, unused): ''' After rendezvous actions ''' # # This function is invoked both when the rendezvous fails # and succeeds. If it succeeds, OK we have fresh information # on available tests and updates and we use it. Otherwise, # if rendezvous fails, we may either have old information, or # no information, if this is the first rendezvous. In any # case, we do our best to use the available information. # logging.info('background_rendezvous: automatic rendezvous... done') # Inform the user when we have updates new_version = RUNNER_UPDATES.get_update_version() new_uri = RUNNER_UPDATES.get_update_uri() if new_version and new_uri and not CONFIG['win32_updater']: logging.info('runner_rendezvous: version %s available at %s', new_version, new_uri) STATE.update('update', {'version': new_version, 'uri': new_uri}) self._open_browser_on_windows('update.html') # # Choose the test we would like to run even if # we're not going to run it because tests are # disabled. So we can print the test name also # when tests are disabled. # test = RUNNER_POLICY.get_next_test() logging.info('background_rendezvous: chosen test: %s', test) # Are we allowed to run a test? if not CONFIG['enabled']: raise RuntimeError('background_rendezvous: automatic ' 'tests disabled') # # RAW test requires auto_discover to be True, since it uses mlab-ns # to discover servers. Other tests don't need that, since, at the # moment, they discover servers during the rendezvous. So, if their # auto_discover were True, they'd end up running two rendezvous in # a row for no good reason. # auto_discover = (test == 'raw') # Actually run the test deferred = Deferred() deferred.add_callback(self._schedule) RUNNER_CORE.run(test, deferred, auto_discover, None)
def _after_rendezvous(self, unused): ''' After rendezvous actions ''' # # This function is invoked both when the rendezvous fails # and succeeds. If it succeeds, OK we have fresh information # on available tests and updates and we use it. Otherwise, # if rendezvous fails, we may either have old information, or # no information, if this is the first rendezvous. In any # case, we do our best to use the available information. # logging.info('background_rendezvous: automatic rendezvous... done') # Inform the user when we have updates new_version = RUNNER_UPDATES.get_update_version() new_uri = RUNNER_UPDATES.get_update_uri() if new_version and new_uri and not CONFIG['win32_updater']: logging.info('runner_rendezvous: version %s available at %s', new_version, new_uri) STATE.update('update', {'version': new_version, 'uri': new_uri}) # # Choose the test we would like to run even if # we're not going to run it because tests are # disabled. So we can print the test name also # when tests are disabled. # # Note: we pick a test at random because now we # have a fixed probability of running a test. # test = RUNNER_POLICY.get_random_test() logging.info('background_rendezvous: chosen test: %s', test) # Are we allowed to run a test? if not CONFIG['enabled']: raise RuntimeError('background_rendezvous: automatic ' 'tests disabled') # # The two legacy tests, speedtest and bittorent, use the rendezvous # to discover the servers. Other tests use mlab-ns. # use_mlabns = (test != 'speedtest' and test != 'bittorrent') # Actually run the test deferred = Deferred() deferred.add_callback(self._schedule) RUNNER_CORE.run(test, deferred, use_mlabns, None)