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

JSON protocol is verbose #396

Closed
pvlakshm opened this issue Jan 30, 2017 · 1 comment
Closed

JSON protocol is verbose #396

pvlakshm opened this issue Jan 30, 2017 · 1 comment
Assignees
Milestone

Comments

@pvlakshm
Copy link
Contributor

Filing on behalf of @citizenmatt.

  1. The JSON interface is very verbose, and we're very concerned about performance, especially with a larger test run. The amount of information passed for a single test case is huge, and multiply that by hundreds, thousands or tens of thousands, and we'll see a lot of memory traffic, in-process with the IDE. It seems that the format could be a lot shorter, without each property having a full type descriptor passed with it. This would also make deserialization faster.
  2. We don't see a need for the properties to be self-describing. If we need to make use of the data, we will already know the property ID, display name and value type. Describing it seems unnecessary, and leads to the verbosity.
  3. Should Attributes include values such as "Hidden"? This feels like a UI concern, but in the reporting protocol.
  4. We don't understand the use of the .NET type name for the ValueType field - what is the purpose of using "System.Collections.Generic.KeyValuePair`2[[System.String],[System.String]][]"? The type name doesn't help us - we can't create a new instance of the class to help deserialise, so it seems to be used as a key or identifier, and a very verbose one at that.
@pvlakshm pvlakshm added the perf label Jan 30, 2017
@codito codito assigned codito and singhsarab and unassigned codito Feb 14, 2017
@codito codito added this to the Preview 115.3 - 20170324 milestone Mar 21, 2017
@pvlakshm pvlakshm mentioned this issue Apr 4, 2017
17 tasks
This was referenced Apr 11, 2017
codito pushed a commit that referenced this issue Apr 14, 2017
* Use direct conversions to/from JSON for TestCase and TestResult (without a local store for default properties)
* Related to #396
@codito
Copy link
Contributor

codito commented May 5, 2017

This is fixed in master, available in dev builds of dotnet-cli.

Specification is here: https://github.com/Microsoft/vstest-docs/blob/master/RFCs/0009-Editors-API-RevisionUpdate.md

@codito codito closed this as completed May 5, 2017
@codito codito modified the milestones: 15.3, Preview 116 May 5, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants