rules_scala icon indicating copy to clipboard operation
rules_scala copied to clipboard

Update test scripts for Bzlmod compatibility

Open mbland opened this issue 1 year ago • 2 comments
trafficstars

Description

These are mostly small changes to make test assertions more flexible between WORKSPACE and Bzlmod runs.

For Bzlmod runs:

  • Fixed test_scala_config_content from test_scala_config.sh by changing a path from external/io_bazel_rules_scala_config to external/*io_bazel_rules_scala_config.

  • Fixed a number of tests by updating expected output messages to allow them to start with either @// or @@//.

  • Fixed test_stamped_target_label_loading from test/shell/test_strict_dependency.sh by accommodating the canonical io_bazel_rules_scala_guava repo name. Also allows for the optional current Scala version suffix.

Also made these other important changes:

  • Updated all the assertions in test_helper.sh to use Bash builtin regex matching via _expect_failure_with_messages instead of grep. This allows the expected message patterns to use full regular expressions while avoiding forking a new process. This new function helped reduce duplication in that file at the same time.

  • Added --repo_env="SCALA_VERSION=..." to each test script called from ./test_coverage.sh, and set SCALA_VERSION to 2.12.19 in each of these files. Using other Scala versions technically works, but the output is slightly different, causing the diff commands in the test cases to fail.

  • Updated test_version.sh to copy the top level .bazelversion file into its test repo.

  • Changed how test_version.sh handles injecting twitter_scrooge repos into the WORKSPACE file. This will make it easy to do the equivalent for MODULE.bazel when the time comes.

Also includes a few minor, opportunistic formatting cleanups.

Motivation

Part of adding Bzlmod support per #1482.

I'm breaking this out to make sure the current default build configuration continues to pass as I carve off more of my fork's Bzlmod working branch. At the same time, the later changes can land without including so many test changes.

cc: @BillyAutrey @jayconrod @benjaminp @TheGrizzlyDev

mbland avatar Oct 15 '24 01:10 mbland