Skip to content

make tests faster #1365

Description

@markusicu
  • In CI, two or more workflows build a cldr-unicodetools.tgz which takes over 2 minutes. Do we need all of these?
    • Elango thinks that we probably don't need the one in cli-build-instructions.yml
  • Maven test in parallel, using multiple processes
  • TestTestUnicodeInvariants takes over 3 minutes.
    • Split it into multiple test classes for better granularity / more parallel testing.
    • Idea: Try to turn many of the test cases into a parameterized test. Read each per-proposal file as a separate test case. Maybe even turn the large file into multiple test cases?
  • TestPropertyAccess takes 2.5 minutes.
  • jsptest.TestProperties takes half a minute.
  • In CI, the longest-running task is Build JSPs/ Regenerate the property cache files
    • Takes some 12 minutes!
    • Maybe try to profile the code and look for good optimization ROI. Might end up making all of the tools/tests faster.

Notes

TestTestUnicodeInvariants.testAdditionComparisons() has this comment:

        // Ideally, this would be a @ParameterizedTest, and we would use the Dtest parameter of the
        // mvn command line to filter a specific test.
        // Unfortunately, this does not appear to be possible with JUnit 5 and Surefire, see
        // https://stackoverflow.com/questions/69198795/junit5-running-a-single-instance-of-parameterized-test,
        // so we have one big test and we filter by hand.
        final String rmgIssueFilter = CldrUtility.getProperty("RMG_ISSUE", null);

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions