Skip to content

Allow multiple library versions for the same ICU/CLDR version - #558

Open
sffc wants to merge 3 commits into
mainfrom
multi-icu4x-per-icu
Open

Allow multiple library versions for the same ICU/CLDR version#558
sffc wants to merge 3 commits into
mainfrom
multi-icu4x-per-icu

Conversation

@sffc

@sffc sffc commented Aug 25, 2026

Copy link
Copy Markdown
Member

#553

Here's what it looks like:

image

Not completely sure if this behaves as expected, in part because there are tons and tons of errors when running the tool, which makes debugging difficult.

@sffc
sffc requested review from sven-oly and a lite review from Copilot August 25, 2026 01:31

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Enables running multiple versions of the same executor against the same ICU test-data version without overwriting outputs, by introducing an output_name override for output directory naming and adjusting verifier logic to map suffixed output directories back to the base ICU version for input/verify files.

Changes:

  • Add --output_name CLI arg and wire it through testplan.py output path construction.
  • Update run scripts to pass output_name from run_config.json into testdriver.py.
  • Teach the verifier to strip @... suffixes (e.g. icu78@icu4x_2_1) when locating verify/input data.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
verifier/verifier.py Strips @... suffix when mapping result directory names to the base ICU version for verify/testdata lookup.
testdriver/testplan.py Uses output_name (when provided) as the output directory segment to prevent overwrites.
testdriver/ddtargs.py Adds --output_name argument to the common CLI args.
run_config.json Adds/updates rust ICU78 entries to write to distinct output directories via output_name.
generateDataAndRun.sh Passes output_name from config to testdriver.py.
genData100.sh Passes output_name from config to testdriver.py (with a default when missing).

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread generateDataAndRun.sh Outdated
Comment thread verifier/verifier.py
Comment on lines +173 to 176
if "@" in test_version:
# Directories like "icu78@icu4x_2_1"
test_version = test_version.split("@")[0]
verify_file_path = os.path.join(self.file_base,
sffc and others added 2 commits August 24, 2026 18:57
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

@sven-oly sven-oly left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This looks OK to me. It suggests that we have a better way to specify versions than just directory names.

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