test: Check that the feature propagates.
given:
crates: [A, B]
dependencies:
A: direct: B
features:
A: enabled: runtime-benchmarks
B: defines: runtime-benchmarks
then:
B: enabled: runtime-benchmarks
otherwise:
error: "feature `runtime-benchmarks` is not propagates"
auto-fix: enable-feature: A: runtime-benchmarks: B/runtime-benchmarks
test: Check that the primitives do not directly depend on frame or any pallet.
given:
crates:
A: name: regex("^sp-.*")
B: name: regex("^frame-*") | regex("^pallet-*")
then:
not: dependencies:
A: direct: B
otherwise:
error: "sp-* crates should not depend on frame-* or pallet-* crates"
auto-fix: remove-dependency: A: B
test: Check that the primitives do not transitively depend on frame or any pallet.
given:
crates:
A: name: regex("^sp-.*")
B: name: regex("^frame-*") | regex("^pallet-*")
then:
not: dependencies:
A: transitive: B
otherwise:
error: "sp-* crates should not depend on frame-* or pallet-* crates"
auto-fix: remove-dependency: A: B