예제 #1
0
    def _NotifyUserIfServerCrashed(self):
        if self._user_notified_about_crash or self.IsServerAlive():
            return
        self._user_notified_about_crash = True

        try:
            vimsupport.CheckFilename(self._server_stderr)
            stderr_message = STDERR_FILE_MESSAGE
        except RuntimeError:
            stderr_message = STDERR_FILE_DELETED_MESSAGE

        message = SERVER_SHUTDOWN_MESSAGE
        return_code = self._server_popen.poll()
        if return_code == server_utils.CORE_UNEXPECTED_STATUS:
            message += ' ' + CORE_UNEXPECTED_MESSAGE + ' ' + stderr_message
        elif return_code == server_utils.CORE_MISSING_STATUS:
            message += ' ' + CORE_MISSING_MESSAGE
        elif return_code == server_utils.CORE_PYTHON2_STATUS:
            message += ' ' + CORE_PYTHON2_MESSAGE
        elif return_code == server_utils.CORE_PYTHON3_STATUS:
            message += ' ' + CORE_PYTHON3_MESSAGE
        elif return_code == server_utils.CORE_OUTDATED_STATUS:
            message += ' ' + CORE_OUTDATED_MESSAGE
        else:
            message += ' ' + stderr_message
        vimsupport.PostVimMessage(message)
예제 #2
0
 def _NotifyUserIfServerCrashed( self ):
   if self._user_notified_about_crash or self.IsServerAlive():
     return
   self._user_notified_about_crash = True
   try:
     vimsupport.CheckFilename( self._server_stderr )
     vimsupport.PostVimMessage( SERVER_CRASH_MESSAGE_STDERR_FILE )
   except RuntimeError:
     vimsupport.PostVimMessage( SERVER_CRASH_MESSAGE_STDERR_FILE_DELETED )
예제 #3
0
def CheckFilename_test():
    assert_that(
        calling(vimsupport.CheckFilename).with_args(None),
        raises(RuntimeError, "'None' is not a valid filename"))

    assert_that(
        calling(vimsupport.CheckFilename).with_args('nonexistent_file'),
        raises(
            RuntimeError, "filename 'nonexistent_file' cannot be opened. "
            "\[Errno 2\] No such file or directory: 'nonexistent_file'"))

    assert_that(vimsupport.CheckFilename(__file__), none())