Currently, it seems that TriBITS does not check and error out if there are incorrect required package dependencies depending the package test group. For example, an required upstream package can not have a a lower testing group than its downstream packages. For example, an ST package can't have a required dependency on an upstream EX package. Likewise, a PT package can't have a required upstream dependency on an ST or an EX package.
For example, in Trilinos PR #11599, anPT package STKMiddle_mesh declared a required dependency on the EX TPL CDT which resulted in the automatic enable of CDT when the auto-enable of STKMiddle_mesh in PT testing (see https://github.com/trilinos/Trilinos/pull/11599#issuecomment-1451106545). This resulted in a configure error because the location of the EX TPL is not given in those configurations. This illogical dependency should have been detected by TriBITS and errored out.
Description
Currently, it seems that TriBITS does not check and error out if there are incorrect required package dependencies depending the package test group. For example, an required upstream package can not have a a lower testing group than its downstream packages. For example, an
ST
package can't have a required dependency on an upstreamEX
package. Likewise, aPT
package can't have a required upstream dependency on anST
or anEX
package.For example, in Trilinos PR #11599, an
PT
packageSTKMiddle_mesh
declared a required dependency on theEX
TPLCDT
which resulted in the automatic enable ofCDT
when the auto-enable ofSTKMiddle_mesh
in PT testing (see https://github.com/trilinos/Trilinos/pull/11599#issuecomment-1451106545). This resulted in a configure error because the location of theEX
TPL is not given in those configurations. This illogical dependency should have been detected by TriBITS and errored out.