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

Add schema validation for date/time, list format, relative date/time format. #213

Open
sven-oly opened this issue Mar 26, 2024 · 1 comment
Labels
good first issue Good for newcomers

Comments

@sven-oly
Copy link
Collaborator

No description provided.

@echeran
Copy link
Collaborator

echeran commented Mar 29, 2024

Background & Summary

The root README visible from the project homepage explains the various stages of work involved in order to run these tests. We convert existing sources of test data into a JSON format when we're creating test cases. We also write the result of executing each test cases in a JSON format. We create schema files using JSON Schema to define what structure of JSON and/or what values in that structure are valid.

For every "component" of functionality in our internationalization (i18n) library that we test, we have a separate structure for input and output data, since the corresponding APIs for each functionality component are different from each other. Examples of functionality components are number formatting, likely subtags (locale identifier maximization / minimization), and language display names. These functionality components will be represented in our test result dashboard as separate rows.

Code and test data have been added (or are in the process of being added) to the repository for the components like datetime formatting, list formatting, and relative datetime formatting.

This task represents configuring the schema validator to validate the JSON schema files for one of these new components, and to validate test input data and output test data using those schema files at runtime. These components code and test data are being added in #183 . Existing components should already have their input and output test data validated using the schema validator.

Requirements

  • a Debian/Ubuntu Linux system
  • python3 installed
  • the jq command line tool installed

Details

  • schema files exist in the schema directory, which is further subdivided into folders based on the identifier for the component
  • the full end-to-end script is at generateDataAndRun.sh. The schema additions must work and be executed by the end-to-end script, such that the script successfully runs without errors up through to and including the point where it runs check_schemas.py and check_generated_data.py

@echeran echeran added the good first issue Good for newcomers label Mar 29, 2024
@sffc sffc added this to the Priority ⟨P2⟩ milestone Apr 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

3 participants