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

Clean up for release #131

Merged
merged 24 commits into from
Apr 21, 2017
Merged

Conversation

rjmurillo
Copy link
Member

@rjmurillo rjmurillo commented Apr 19, 2017

  • Dependency updates
    • Castle.Core
    • BenchmarkDotNet
    • C# code analysis
  • Code clean up
    • Clean up code according to the code analysis rules
  • Add additional tests
    • Add tests where needed to improve coverage

 - Remove additional package sources (to reduce restore time / noise)
 - Prevent user from disabling nuget.org and prevent restoration
- File now includes VS2017 image
- msbuild and vstest use Dev15 tools
- Nuget restore explicitly uses version installed to `.tools` folder after executing `init.ps1`
- Artifact publish settings configured in file using secure values from appveyor.com
- `Performance` test category added to list of test exclusions
- Parallel build execution disabled to avoid build double-writes issues
Update non-shipping ruleset

Suppress CA1014, CA1707, and CA1709 because it's too noisy for our test style.
Projects: Linq, Mapper, Core.Tests, Mocks, Core, Soap, Rest
Integration tests and test common
Rather than hard coding a value in the predicate, the constant reference name is used.
Work item types are now kept in a HashSet<string> to reduce duplication when emitting multiple types in WIQL.
Model specifies a WIT that does not exist in the system. Updating to use an existing WIT.
Tests for Core fields are broken up into three types:
 - Core fields with no known differences
 - Core fields with identities
 - Core fields with date/time

The core fields with no known differences make regular equality assertions between work items produced by each client. It is expected that there are no known differences.

The core fields with identities may have differences between each client: SOAP will produce an identity in either the "Display Name" or "Display Name <account>" depending on ambiguity. REST always produces the latter.  Identities are pushed through a helper class (`IdentityFieldValue`) to parse out the different pieces and compare the resulting `DisplayName` for equality. It is expected that there are no known differences.

The core fields with date/time have differences: SOAP converts the value to the offset provided in the user's preferences, while REST always sends the value as UTC.  Each date value is returned and SOAP values are converted to UTC via the built-in method on the `DateTime` type for equality. It is expected that there are no known differences.
@rjmurillo rjmurillo requested a review from pelavall April 20, 2017 20:40
Remove filters for `Benchmark` and `Performance` and add filters for `SOAP` and `REST`.

This will lengthen a CI build as it will execute benchmarks. Estimated delay: 5-10 minutes.  Statistics are printed in the output for the test, and artifacts are produced in the test output folder.
Remove references to Qwiq.Core and Qwiq.Mocks.  Project only contains classes required for BenchmarkDotNet
Remove LegacyJit since we are running 4.7 with Ryu in production
Benchmark created LOTS of work items, which effectively began to test the CPU cache on the machine rather than the actual mapping code.  This is now restricted to creating a single item and performing mapping against it.
@rjmurillo rjmurillo changed the title [IN_PROGRESS] Clean up for release Clean up for release Apr 20, 2017
The test that wraps the benchmark test now verifies two mapped properties on each model: one with spaces, one without.
@AppVeyorBot
Copy link

@rjmurillo
Copy link
Member Author

@pelavall This is ready now. I will create a new branch to track the changes we discussed for IMS

@rjmurillo rjmurillo merged commit 390a4a5 into LeCantaloop:develop Apr 21, 2017
@rjmurillo rjmurillo mentioned this pull request Apr 22, 2017
@rjmurillo rjmurillo deleted the feature/Cleanup branch August 9, 2017 17:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants