Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create test session for checking interaction of language servers with two open browser instances #10581

Closed
musienko-maxim opened this issue Jul 30, 2018 · 2 comments
Assignees
Labels
kind/task Internal things, technical debt, and to-do tasks to be performed.

Comments

@musienko-maxim
Copy link
Contributor

musienko-maxim commented Jul 30, 2018

Description

We have feature like File Watcher and we have tests which check actions like: editing, deleting, adding files and folders and other test actions under File Watcher. But we have never tested how work Language servers under File watcher.
For instance: The user # 1 and use # 2 work with common go lang project with chrome browser. The user # 1 open a project file and add new method for handling a request. The user#2 also is worjing with the same file. We should figur out how language server will be work in this case (how will be update file, code validation, documentation, hovering, syntax highlighting and etc. ).
For beginning we can use existed test plan for language servers and check it under 2 browsers.
The bug list should be attached to this issue

OS and version: The Che under docker and openshift infrastructure, upstream version, chrome browser, 2 users

@musienko-maxim musienko-maxim added the kind/task Internal things, technical debt, and to-do tasks to be performed. label Jul 30, 2018
@musienko-maxim musienko-maxim changed the title Create test session for checking interaction of language servers with two open browser instance Create test session for checking interaction of language servers with two open browser instances Jul 30, 2018
@vkuznyetsov vkuznyetsov added status/open-for-dev An issue has had its specification reviewed and confirmed. Waiting for an engineer to take it. sprint/next team/che-qe labels Jul 31, 2018
@gazarenkov
Copy link
Contributor

@musienko-maxim
Would not say it is clear what exactly you expect here

@SkorikSergey SkorikSergey added status/in-progress This issue has been taken by an engineer and is under active development. and removed status/open-for-dev An issue has had its specification reviewed and confirmed. Waiting for an engineer to take it. labels Aug 6, 2018
@SkorikSergey
Copy link
Contributor

After test session we found two global problems:

  1. Error markers unexpectedly disappear in second browser session.
  2. Main language server features are broken after closing a file in second browser session.

User story 1
Steps to reproduce:
Preconditions: Create workspace with project which related with current language server. Language server should be enabled and initialized.

  1. The users # 1 and # 2 work with the same project in 2 different browsers.
  2. The users # 1 and # 2 open the same file. The user # 1 make error and check that error marker is appeared.

Expected results:
Error marker should appear in both browsers.

Actual results:
Error marker has been appeared only in user # 1 browser. There is no any markers in user # 2 browser (It is actual for next LS: Clang, Python, PHP, TypeScript, Yaml, C#).


User story 2
Steps to reproduce:
Preconditions: Create workspace with project which related with current language server. Language server should be enabled and initialized.

  1. The users # 1 and # 2 work with the same project in 2 different browsers.
  2. The users # 1 and # 2 open the same file.
  3. The user # 1 check a LS feature(for example autocomplete, hovering, find definition).
  4. The user # 2 close the edited file.

Expected results:
All features which depended on LS should work as expected.

Actual results:
All features become broken with error message like Can't update file, item does not exist:. After the file reopening all features work as expected.

@SkorikSergey SkorikSergey removed the status/in-progress This issue has been taken by an engineer and is under active development. label Aug 6, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/task Internal things, technical debt, and to-do tasks to be performed.
Projects
None yet
Development

No branches or pull requests

4 participants