feat(requires): support variable references in enum constraints (#2678)

This commit is contained in:
Valentin Maerten
2026-03-21 11:32:02 +01:00
committed by GitHub
parent 19d8fae5f9
commit 8b6aca5722
16 changed files with 268 additions and 16 deletions

View File

@@ -351,6 +351,41 @@ func TestRequires(t *testing.T) {
),
WithTask("var-defined-in-task"),
)
NewExecutorTest(t,
WithName("enum ref - passes validation"),
WithExecutorOptions(
task.WithDir("testdata/requires"),
),
WithTask("validation-var-ref"),
WithVar("ENV", "dev"),
)
NewExecutorTest(t,
WithName("enum ref - fails validation"),
WithExecutorOptions(
task.WithDir("testdata/requires"),
),
WithTask("validation-var-ref"),
WithVar("ENV", "invalid"),
WithRunError(),
)
NewExecutorTest(t,
WithName("enum ref - ref to non-list"),
WithExecutorOptions(
task.WithDir("testdata/requires"),
),
WithTask("validation-var-ref-invalid"),
WithVar("VALUE", "test"),
WithRunError(),
)
NewExecutorTest(t,
WithName("enum ref - ref to nonexistent var"),
WithExecutorOptions(
task.WithDir("testdata/requires"),
),
WithTask("validation-var-ref-nonexistent"),
WithVar("ENV", "dev"),
WithRunError(),
)
}
// TODO: mock fs