The lint builds the member and operator sets from the template directory and
one Mount per integration's templates, as the console does at boot, and reads
its route references from the parse trees; the per-file scanTemplateActions and its stub
map are gone. A file under a template directory that neither set parses is an
internal error naming it, and a reference is kept once per file and position
so the two routeURL actions on one line of the plan topology partial both
count. Two template files that share a base name are also an internal error
naming both.
The one change in what the lint refuses: a template that calls a function its
own surface lacks. No violation message changes.
TestExtractTemplatesFailsOnUnparsableTemplate now builds its templates on a
core-shaped overlay of the real tree with one broken partial. New tests:
TestExtractTemplatesFailsOnAFunctionItsSurfaceLacks,
TestExtractTemplatesFailsOnAnOrphanTemplate,
TestExtractTemplatesKeepsTwoReferencesOnOneLine,
TestExtractTemplatesFailsOnTwoFilesWithOneBaseName and
TestExtractTemplatesCountsASharedPartOnce. 8 breaks: the swallowed parse error,
the unknown route and the removed id failed the old and the new lint or test;
the other 5 failed the new tests, which have no old side.