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 conformance testing #706

Merged
merged 35 commits into from
Aug 25, 2023
Merged

Add conformance testing #706

merged 35 commits into from
Aug 25, 2023

Conversation

mosuem
Copy link
Member

@mosuem mosuem commented Aug 22, 2023

Add a workflow for https://github.com/unicode-org/conformance/ testing. This runs the conformance test suite with a custom configuration file, and compares the result against a previous run from the main branch. It fails if more tests are failing then were failing before.

FYI: @sven-oly @echeran


  • I’ve reviewed the contributor guide and applied the relevant portions to this PR.
Contribution guidelines:

Note that many Dart repos have a weekly cadence for reviewing PRs - please allow for some latency before initial review feedback.

@github-actions github-actions bot added type-infra A repository infrastructure change or enhancement package:intl4x labels Aug 22, 2023
@github-actions
Copy link

github-actions bot commented Aug 22, 2023

PR Health

Package publish validation ✔️

Details
Package Version Status
package:intl 0.19.0-dev pre-release version (no publish necessary)
package:intl4x 0.6.1-wip pre-release version (no publish necessary)
package:intl_translation 0.19.0-dev pre-release version (no publish necessary)

Documentation at https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.

License Headers ✔️

Details
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
Files
no missing headers

All source files should start with a license header.

Unrelated files missing license headers
Files
pkgs/intl_translation/test/two_components/app_messages_all.dart
pkgs/intl_translation/test/two_components/app_messages_all_locales.dart
pkgs/intl_translation/test/two_components/component_messages_fr_xyz123.dart
pkgs/intl_translation/test/two_components/app_messages_fr.dart
pkgs/intl_translation/test/two_components/component_messages_all_locales.dart
pkgs/intl_translation/test/two_components/component_messages_all.dart
pkgs/intl_translation/test/generate_localized/code_map_messages_all.dart
pkgs/intl_translation/test/generate_localized/code_map_messages_all_locales.dart
pkgs/intl_translation/test/generate_localized/code_map_messages_fr.dart
pkgs/intl_translation/example/lib/generated/messages_iw.dart
pkgs/intl_translation/example/lib/generated/messages_de.dart
pkgs/intl_translation/example/lib/generated/messages_all_locales.dart
pkgs/intl_translation/example/lib/generated/messages_en.dart
pkgs/intl_translation/example/lib/generated/messages_all.dart
pkgs/intl_translation/example/lib/generated/messages_de_CH.dart
pkgs/intl_translation/example/lib/generated/messages_es.dart

Changelog Entry ✔️

Details
Package Changed Files

Changes to files need to be accounted for in their respective changelogs.

Coverage ✔️

Details
File Coverage

This check for test coverage is informational (issues shown here will not fail the PR).


- uses: actions/checkout@7739b9ba2efcda9dde65ad1e3c2dbe65b41dfba7
with:
repository: mosuem/conformance
Copy link
Member Author

Choose a reason for hiding this comment

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

Switch to unicode/conformance with ref main as soon as makeScriptConfigurable is merged.

@mosuem mosuem requested a review from devoncarew August 23, 2023 12:49
@mosuem mosuem marked this pull request as ready for review August 23, 2023 12:49
Copy link
Member

@devoncarew devoncarew left a comment

Choose a reason for hiding this comment

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

lgtm; the main question is which technique we'd prefer for checking again the expected test results - uploading a status file or having one committed to the repo

.github/workflows/conformance.yml Outdated Show resolved Hide resolved
.github/workflows/conformance.yml Outdated Show resolved Hide resolved
continue-on-error: true
uses: actions/download-artifact@e9ef242655d12993efdcda9058dee2db83a2cb9b
with:
name: referenceExecSummary
Copy link
Member

Choose a reason for hiding this comment

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

What does this referenceExecSummary file look like? Is is human readable?

You might consider (in this PR or a following one) having a test status file checked into the repo. The CI would then fail if the test results didn't match what was in the file. People fixing tests (or adding new, failing tests) would then need to update the status file as part of their PR.

Copy link
Member Author

Choose a reason for hiding this comment

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

It is just the output folder of generateDataAndRun.sh, which contains basically a bunch of JSON files and a HTML view. So it is human readable.

The file might be nice, but I don't know how this would work with the branch protection on the main branch.

pkgs/intl4x/test/tools/conformance_parser.dart Outdated Show resolved Hide resolved
pkgs/intl4x/test/tools/conformance_parser.dart Outdated Show resolved Hide resolved
@mosuem mosuem merged commit 604c8ef into main Aug 25, 2023
8 checks passed
@mosuem mosuem deleted the addConformanceTesting branch August 25, 2023 17:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
package:intl4x type-infra A repository infrastructure change or enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants