def test_model_error_with_error_and_fatal_error(self): model = get_resource_model('''\ *** Invalid *** *** Settings *** Invalid Documentation *** Test Cases *** ''', data_only=True) inv_header = ( "Unrecognized section header '*** Invalid ***'. Valid sections: " "'Settings', 'Variables', 'Keywords' and 'Comments'.") inv_setting = "Non-existing setting 'Invalid'." inv_testcases = "Resource file with 'Test Cases' section is invalid." expected = File([ CommentSection(body=[ Error([Token('ERROR', '*** Invalid ***', 1, 0, inv_header)]) ]), SettingSection( header=SectionHeader( [Token('SETTING HEADER', '*** Settings ***', 2, 0)]), body=[ Error([Token('ERROR', 'Invalid', 3, 0, inv_setting)]), Documentation( [Token('DOCUMENTATION', 'Documentation', 4, 0)]), Error([ Token('FATAL ERROR', '*** Test Cases ***', 5, 0, inv_testcases) ]) ]) ]) assert_model(model, expected)
def parse_resource_file(self, source): model = get_resource_model(self._get_source(source), data_only=True, curdir=self._get_curdir(source)) resource = ResourceFile(source=source) ErrorReporter(source).visit(model) ResourceBuilder(resource).visit(model) return resource
def parse_resource_file(self, source): model = get_resource_model(self._get_source(source), data_only=True, curdir=self._get_curdir(source)) resource = ResourceFile(source=source) ErrorReporter(source).visit(model) if model.has_tests: raise DataError("Resource file '%s' cannot contain tests or tasks." % source) ResourceBuilder(resource).visit(model) return resource
def test_model_error_with_fatal_error(self): model = get_resource_model('''\ *** Test Cases *** ''', data_only=True) inv_testcases = "Resource file with 'Test Cases' section is invalid." expected = File([ CommentSection( body=[ Error([Token('FATAL ERROR', '*** Test Cases ***', 1, 0, inv_testcases)]) ] ) ]) assert_model(model, expected)
def build(self, path): LOGGER.info("Parsing resource file '%s'." % path) model = get_resource_model(path, data_only=True, process_curdir=self.process_curdir) return build_resource(model, path)