Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Add more Unicode validation tests - #41265

Merged
stephentoub merged 2 commits into
dotnet:masterfrom
GrabYourPitchforks:charunicodeinfo_tests
Sep 24, 2019
Merged

stephentoub merged 2 commits into
dotnet:masterfrom
GrabYourPitchforks:charunicodeinfo_tests

Conversation

@GrabYourPitchforks

Copy link
Copy Markdown
Member

Added some outerloop unit tests that parse the raw Unicode data files, then call various APIs on char and Rune passing every possible input. The control results (as parsed from the raw data files) are compared against the runtime's output for correctness.

This is largely in preparation for updating the runtime's stored Unicode table to version 12.1 (it's currently 11.0), including bringing forward invariant case mapping information.

There are no functional runtime changes in this PR.

@GrabYourPitchforks

Copy link
Copy Markdown
Member Author

/azp run corefx-outerloop-windows

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@tarekgh tarekgh left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for adding these tests. It is really useful.

Comment thread src/System.Runtime/tests/System/CharTests.netcoreapp.cs Outdated
Comment thread src/System.Runtime/tests/System/Text/Unicode/UnicodeData.netcoreapp.cs Outdated
Comment thread src/System.Runtime/tests/System/Text/Unicode/UnicodeData.netcoreapp.cs Outdated
}
}

[OuterLoop]

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume you made all of these outerloop because they otherwise take too long to run in innerloop?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They don't actually take all that long - less than 500ms on my machine combined. But if we follow this pattern of "test every possible input against known good output data", I can easily see these tests cumulatively going into the several-seconds range.

Comment thread src/System.Runtime/tests/System/CharTests.netcoreapp.cs
@stephentoub

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 4 pipeline(s).

@stephentoub
stephentoub merged commit b59265f into dotnet:master Sep 24, 2019
@karelz karelz added this to the 5.0 milestone Dec 19, 2019
picenka21 pushed a commit to picenka21/runtime that referenced this pull request Feb 18, 2022
* Add more Unicode validation tests

* PR feedback and add more char tests


Commit migrated from dotnet/corefx@b59265f
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants