def test_namespace_support(self): prog = ResourceProgram( "package.name == 'fwts'\n" "platform.arch in ('i386', 'amd64')", implicit_namespace="com.canonical") self.assertEqual(prog.required_resources, {'com.canonical::package', 'com.canonical::platform'})
def get_resource_program(self): """ Return a ResourceProgram based on the 'requires' expression. The program instance is cached in the JobDefinition and is not compiled or validated on subsequent calls. :returns: ResourceProgram if one is available or None :raises ResourceProgramError: If the program definition is incorrect """ if self.requires is not None and self._resource_program is None: if self._provider is not None: implicit_namespace = self._provider.namespace else: implicit_namespace = None if self.imports is not None: imports = list(self.get_imported_jobs()) else: imports = None self._resource_program = ResourceProgram(self.requires, implicit_namespace, imports) return self._resource_program
def get_resource_program(self): """ Return a ResourceProgram based on the 'requires' expression. The program instance is cached in the JobDefinition and is not compiled or validated on subsequent calls. Returns ResourceProgram or None Raises ResourceProgramError or SyntaxError """ if self.requires is not None and self._resource_program is None: self._resource_program = ResourceProgram(self.requires) return self._resource_program
def get_filter_program(self): """ Get filter program compiled from the template-filter field. :returns: ResourceProgram created out of the text of the template-filter field. """ if self.template_filter is not None and self._filter_program is None: self._filter_program = ResourceProgram(self.template_filter, self.resource_namespace, self.get_imported_jobs()) return self._filter_program
def setUp(self): super(ResourceProgramTests, self).setUp() self.prog = ResourceProgram("\n" # empty lines are ignored "package.name == 'fwts'\n" "platform.arch in ('i386', 'amd64')")