engine: Don't force validation for hidden resources
I think this is what I want in most scenarios, is there a reason to do otherwise? This is because we may wish to export incomplete resources, where the remaining necessary fields for validation happens on collect.
This commit is contained in:
@@ -154,7 +154,8 @@ type MetaParams struct {
|
|||||||
// named resources. It can even be used as part of an edge or via a
|
// named resources. It can even be used as part of an edge or via a
|
||||||
// send/recv receiver. It can NOT be a sending vertex. These properties
|
// send/recv receiver. It can NOT be a sending vertex. These properties
|
||||||
// differentiate the use of this instead of simply wrapping a resource
|
// differentiate the use of this instead of simply wrapping a resource
|
||||||
// in an "if" statement.
|
// in an "if" statement. If it is hidden, then it does not need to pass
|
||||||
|
// the resource Validate method step.
|
||||||
Hidden bool `yaml:"hidden"`
|
Hidden bool `yaml:"hidden"`
|
||||||
|
|
||||||
// Export is a list of hostnames (and/or the special "*" entry) which if
|
// Export is a list of hostnames (and/or the special "*" entry) which if
|
||||||
|
|||||||
@@ -312,6 +312,12 @@ func Validate(res Res) error {
|
|||||||
return fmt.Errorf("the Res name starts with a $")
|
return fmt.Errorf("the Res name starts with a $")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Don't need to validate normally if hidden.
|
||||||
|
// XXX: Check if it's also Exported too? len(res.MetaParams.Export) > 0
|
||||||
|
if res.MetaParams().Hidden {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
return res.Validate()
|
return res.Validate()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
11
lang/interpret_test/TestAstFunc2/validate-hidden1.txtar
Normal file
11
lang/interpret_test/TestAstFunc2/validate-hidden1.txtar
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
-- main.mcl --
|
||||||
|
line "whatever" {
|
||||||
|
#file => "", # specified on collect
|
||||||
|
#state => "", # specified on collect
|
||||||
|
content => "hello",
|
||||||
|
|
||||||
|
Meta:hidden => true, # should Validate even though fields are missing.
|
||||||
|
#Meta:export => ["*",],
|
||||||
|
}
|
||||||
|
-- OUTPUT --
|
||||||
|
Vertex: line[whatever]
|
||||||
Reference in New Issue
Block a user