コード例 #1
0
def ServerManagement_OpenProject_RelativePath_test(app):
    StartJavaCompleterServerInDirectory(
        app,
        PathToTestFile('simple_gradle_project', 'src', 'main', 'java', 'com',
                       'test'))

    # Initially, we detect the gradle project...
    gradle_project = PathToTestFile('simple_gradle_project')
    maven_project = PathToTestFile('simple_maven_project')

    # Run the debug info to check that we have the correct project dir
    request_data = BuildRequest(filetype='java')
    assert_that(
        app.post_json('/debug_info', request_data).json,
        CompleterProjectDirectoryMatcher(gradle_project))

    # We then force it to reload the maven project
    app.post_json(
        '/run_completer_command',
        BuildRequest(
            filetype='java',
            command_arguments=[
                'OpenProject',
                os.path.join('..', 'simple_maven_project'),
            ],
            working_dir=gradle_project,
        ),
    )

    # Run the debug info to check that we now have the maven project, without
    # changing anything else
    request_data = BuildRequest(filetype='java')
    assert_that(
        app.post_json('/debug_info', request_data).json,
        CompleterProjectDirectoryMatcher(maven_project))
コード例 #2
0
def ServerManagement_RestartServer_test( app ):
  StartClangd( app, PathToTestFile( 'basic.cpp' ) )

  assert_that(
    GetDebugInfo( app ),
    CompleterProjectDirectoryMatcher( PathToTestFile() ) )

  app.post_json(
    '/run_completer_command',
    BuildRequest(
      filepath = PathToTestFile( 'test-include', 'main.cpp' ),
      filetype = 'cpp',
      command_arguments = [ 'RestartServer' ],
    ),
  )

  WaitUntilCompleterServerReady( app, 'cpp' )

  assert_that(
    GetDebugInfo( app ),
    has_entry( 'completer', has_entries( {
      'name': 'C-family',
      'servers': contains_exactly( has_entries( {
        'name': 'Clangd',
        'is_running': True,
        'extras': has_item( has_entries( {
          'key': 'Project Directory',
          'value': PathToTestFile( 'test-include' ),
        } ) )
      } ) )
    } ) )
  )
コード例 #3
0
def ServerManagement_ProjectDetection_NoParent_test( app ):
  with TemporaryTestDir() as tmp_dir:
    StartJavaCompleterServerInDirectory( app, tmp_dir )
    # Run the debug info to check that we have the correct project dir (cwd)
    request_data = BuildRequest( filetype = 'java' )
    assert_that( app.post_json( '/debug_info', request_data ).json,
                 CompleterProjectDirectoryMatcher( tmp_dir ) )
コード例 #4
0
    def Test( app ):
      StartJavaCompleterServerInDirectory( app, tmp_dir )

      # Run the debug info to check that we have the correct project dir (cwd)
      request_data = BuildRequest( filetype = 'java' )
      assert_that( app.post_json( '/debug_info', request_data ).json,
                   CompleterProjectDirectoryMatcher( tmp_dir ) )
コード例 #5
0
ファイル: server_management_test.py プロジェクト: tungpd/ycmd
    def ServerManagement_WipeWorkspace_WithConfig( app ):
      StartJavaCompleterServerInDirectory(
        app, PathToTestFile( 'simple_eclipse_project', 'src' ) )

      project = PathToTestFile( 'simple_eclipse_project' )
      filepath = PathToTestFile( 'simple_eclipse_project',
                                 'src',
                                 'com',
                                 'youcompleteme',
                                 'Test.java' )

      app.post_json(
        '/run_completer_command',
        BuildRequest(
          filepath = filepath,
          filetype = 'java',
          command_arguments = [ 'WipeWorkspace', '--with-config' ],
        ),
      )

      WaitUntilCompleterServerReady( app, 'java' )

      assert_that(
        app.post_json( '/debug_info',
                       BuildRequest( filetype = 'java',
                                     filepath = filepath ) ).json,
        CompleterProjectDirectoryMatcher( project ) )
コード例 #6
0
def ServerManagement_RestartServer_test( app ):
  StartJavaCompleterServerInDirectory(
    app, PathToTestFile( 'simple_eclipse_project' ) )

  eclipse_project = PathToTestFile( 'simple_eclipse_project' )
  maven_project = PathToTestFile( 'simple_maven_project' )

  # Run the debug info to check that we have the correct project dir
  request_data = BuildRequest( filetype = 'java' )
  assert_that( app.post_json( '/debug_info', request_data ).json,
               CompleterProjectDirectoryMatcher( eclipse_project ) )

  # Restart the server with a different client working directory
  filepath = PathToTestFile( 'simple_maven_project',
                             'src',
                             'main',
                             'java',
                             'com',
                             'test',
                             'TestFactory.java' )

  app.post_json(
    '/run_completer_command',
    BuildRequest(
      filepath = filepath,
      filetype = 'java',
      working_dir = maven_project,
      command_arguments = [ 'RestartServer' ],
    ),
  )

  WaitUntilCompleterServerReady( app, 'java' )

  app.post_json(
    '/event_notification',
    BuildRequest(
      filepath = filepath,
      filetype = 'java',
      working_dir = maven_project,
      event_name = 'FileReadyToParse',
    )
  )

  # Run the debug info to check that we have the correct project dir
  request_data = BuildRequest( filetype = 'java' )
  assert_that( app.post_json( '/debug_info', request_data ).json,
               CompleterProjectDirectoryMatcher( maven_project ) )
コード例 #7
0
def ServerManagement_ProjectDetection_EclipseParent_test( app ):
  StartJavaCompleterServerInDirectory(
    app, PathToTestFile( 'simple_eclipse_project', 'src' ) )

  project = PathToTestFile( 'simple_eclipse_project' )

  # Run the debug info to check that we have the correct project dir
  request_data = BuildRequest( filetype = 'java' )
  assert_that( app.post_json( '/debug_info', request_data ).json,
               CompleterProjectDirectoryMatcher( project ) )
コード例 #8
0
 def test_ServerManagement_ProjectDetection_NoParent(self):
     with TemporaryTestDir() as tmp_dir:
         with isolated_app() as app:
             StartJavaCompleterServerInDirectory(app, tmp_dir)
             # Run the debug info to check that we have the correct project dir (cwd)
             request_data = BuildRequest(filetype='java',
                                         filepath=os.path.join(
                                             tmp_dir, 'foo.java'))
             assert_that(
                 app.post_json('/debug_info', request_data).json,
                 CompleterProjectDirectoryMatcher(tmp_dir))
コード例 #9
0
def ServerManagement_ProjectDetection_MultipleProjects_test(app):
    # The ycm_extra_conf.py file should set the project path to
    # multiple_projects/src
    project = PathToTestFile('multiple_projects', 'src')
    StartJavaCompleterServerWithFile(
        app,
        os.path.join(project, 'core', 'java', 'com', 'puremourning', 'widget',
                     'core', 'Utils.java'))

    # Run the debug info to check that we have the correct project dir
    request_data = BuildRequest(filetype='java')
    assert_that(
        app.post_json('/debug_info', request_data).json,
        CompleterProjectDirectoryMatcher(project))
コード例 #10
0
    def test_ServerManagement_ProjectDetection_MavenParent_Submodule(
            self, app):
        StartJavaCompleterServerInDirectory(
            app,
            PathToTestFile('simple_maven_project', 'simple_submodule', 'src',
                           'main', 'java', 'com', 'test'))

        project = PathToTestFile('simple_maven_project')

        # Run the debug info to check that we have the correct project dir
        request_data = BuildRequest(filetype='java')
        assert_that(
            app.post_json('/debug_info', request_data).json,
            CompleterProjectDirectoryMatcher(project))
コード例 #11
0
ファイル: server_management_test.py プロジェクト: toxeus/ycmd
def ServerManagement_WipeWorkspace_WithConfig_test( isolated_app ):
  with TemporaryTestDir() as tmp_dir:
    with isolated_app( {
      'java_jdtls_use_clean_workspace': 0,
      'java_jdtls_workspace_root_path': tmp_dir
    } ) as app:
      StartJavaCompleterServerInDirectory(
        app, PathToTestFile( 'simple_eclipse_project', 'src' ) )

      project = PathToTestFile( 'simple_eclipse_project' )
      filepath = PathToTestFile( 'simple_eclipse_project',
                                 'src',
                                 'com',
                                 'youcompleteme',
                                 'Test.java' )

      app.post_json(
        '/run_completer_command',
        BuildRequest(
          filepath = filepath,
          filetype = 'java',
          command_arguments = [ 'WipeWorkspace', '--with-config' ],
        ),
      )

      WaitUntilCompleterServerReady( app, 'java' )

      assert_that(
        app.post_json( '/debug_info',
                       BuildRequest( filetype = 'java',
                                     filepath = filepath ) ).json,
        CompleterProjectDirectoryMatcher( project ) )

      assert_that(
        app.post_json( '/debug_info',
                       BuildRequest( filetype = 'java',
                                     filepath = filepath ) ).json,
        has_entry(
          'completer',
          has_entry( 'servers', contains_exactly(
            has_entry( 'extras', has_item(
              has_entries( {
                'key': 'Workspace Path',
                'value': starts_with( tmp_dir ),
              } )
            ) )
          ) )
        ) )