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

CLDR-18128 Generate datetime test data using semantic skeletons #4313

Open
wants to merge 15 commits into
base: main
Choose a base branch
from

Conversation

echeran
Copy link
Contributor

@echeran echeran commented Jan 23, 2025

CLDR-18128

This PR switches the implementation of date time test data generation to:

  • use semantic skeletons to represent the input values
  • use a more carefully designed set (called "kernel") of combinations of input values that is minimal size while maintaining a near maximal coverage of date time functionality use cases / options

A follow up PR is still needed to use this kernel set of combinations and combine it via iteration over all values in the dimensions of: locales, a larger set of input date/times, a larger set of time zones, etc. Combining this kernel set as a Cartesian product with iterations of larger value sets across different dimensions will ensure representation of those values in the different dimensions.

  • This PR completes the ticket.

ALLOW_MANY_COMMITS=true

@echeran echeran requested a review from sffc January 23, 2025 23:11
@echeran echeran marked this pull request as ready for review January 24, 2025 20:42
Copy link
Member

@sffc sffc left a comment

Choose a reason for hiding this comment

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

Nice work!

What I think we have left before we consider the ticket "complete":

  1. Optimize the kernel a bit more to further reduce duplication in test case generation
    • Including support for TimePrecision
  2. Take the cartesian product of the kernel over all of the dimensions
  3. Fix TODOs and any additional bugs we find

What we currently have is a great milestone, sufficient for ICU4X testing and CLDR 47.

@sffc
Copy link
Member

sffc commented Jan 31, 2025

@echeran Ready to merge?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants