Skip to content

Support varying degrees of test isolation #1666

Open
@jadenPete

Description

@jadenPete

This issue is part of a broader proposal to merge some of the features in lucidsoftware/rules_scala into this ruleset.

The tracking issue for this effort

The relevant proposal section.

From the proposal:

Currently, bazelbuild/rules_scala’s test runners invoke ScalaTest’s test runner or specs2’s test runner, depending on which framework is being used. This means that every test in a given target runs under the same process, which is ideal in most circumstances but may not work for tests that manipulate global state.

At Lucid, when we migrated from sbt to Bazel, running all tests in the same process posed a problem because we relied on sbt’s fork := true option, which enables test process isolation. We solved this problem by adding optional classloader and process test isolation to our ruleset, which run tests with separate classloaders and processes, respectively. See our different test runners for more details. We’d like to add these isolation settings to bazelbuild/rules_scala to ease the migration from sbt to Bazel.

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