in tests.go [120:155]
func (c *CheckOutput) processBuildArgs(lex *shell.Lex, args map[string]string, allowArg func(string) bool) error {
for i, contains := range c.Contains {
updated, err := expandArgs(lex, contains, args, allowArg)
if err != nil {
return fmt.Errorf("%w: contains at list index %d", err, i)
}
c.Contains[i] = updated
}
updated, err := expandArgs(lex, c.EndsWith, args, allowArg)
if err != nil {
return fmt.Errorf("%w: endsWith", err)
}
c.EndsWith = updated
for i, matches := range c.Matches {
updated, err = expandArgs(lex, matches, args, allowArg)
if err != nil {
return fmt.Errorf("%w: matches at list index %d", err, i)
}
c.Matches[i] = updated
}
updated, err = expandArgs(lex, c.Equals, args, allowArg)
if err != nil {
return fmt.Errorf("%w: equals", err)
}
c.Equals = updated
updated, err = expandArgs(lex, c.StartsWith, args, allowArg)
if err != nil {
return fmt.Errorf("%w: startsWith", err)
}
c.StartsWith = updated
return nil
}