Skip to content

Test expected failures in concretisation #259

@anton-seaice

Description

@anton-seaice

It would be super handy when developing spack packages to be able to automatically test the negative case for conflicts/versions and dependencies.

For example, we sometimes have complicated cases where we expect builds to work (and not work) but it's hard and impractical to regularly do ad-hoc tests that these don't concretise and fail in meaningful ways.

This is an excerpt from the mom5 package:

    with when("build_system=cmake"):
        variant("build_type", default="RelWithDebInfo",
            description="CMake build type",
            values=("Debug", "Release", "RelWithDebInfo")
        )
        variant("deterministic", default=False, description="Deterministic build")

    with when("build_system=makefile"):
        variant("restart_repro", default=True, description="Reproducible restart build.")
        variant(
            "deterministic",
            default=False,
            description="Deterministic build",
            when="@access-om2,legacy-access-om2-bgc"
        )
        variant(
            "optimisation_report",
            default=False,
            description="Generate optimisation reports",
            when="@access-om2,legacy-access-om2-bgc"
        )

But without testing, I wouldn't be confident that attempting to install

mom5@=stable +optimisation_report build_system=cmake

would actually fail.

Metadata

Metadata

Assignees

Labels

for:v3priority:highA high priority issue - has an impact on core functionalitytype:featureNew feature or requestversion:MINORRequires a change to the minor version - features

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions