This seems like a bug to me. The comments inside
aa_call_component
suggest that the component should be evaluated in the calling environments stack, but that doesn't seem to be happening.
Looking at the test code in the news package, I see that calling aa_export_vars
inside the component allows you to access $blah
, but I agree with you that aa_export_vars
is not supposed to be used for this purpose. It seems like a side-effect.
IOW, this works:
aa_register_component "my_component" {
Chunk of reusable test code.
} {
aa_export_vars {blah}
aa_false "Verify blah exists." [empty_string_p $blah]
}