From aa0564e8f33be61c098f4435248345cd8794c6e2 Mon Sep 17 00:00:00 2001 From: Marc Bonnici Date: Fri, 17 May 2019 16:44:04 +0100 Subject: [PATCH] tests/test_agenda_parser: Use custom yaml loader for test cases Instead of using the default yaml loader make sure to use our customised loader. Also move the loading stage into our test cases as this should be part of the test case to ensure that it functions for the individual test case. --- tests/test_agenda_parser.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/tests/test_agenda_parser.py b/tests/test_agenda_parser.py index d6e8edd2..c72ce933 100644 --- a/tests/test_agenda_parser.py +++ b/tests/test_agenda_parser.py @@ -18,7 +18,6 @@ # pylint: disable=R0201 import os import sys -import yaml from collections import defaultdict from unittest import TestCase @@ -31,6 +30,7 @@ os.environ['WA_USER_DIRECTORY'] = os.path.join(DATA_DIR, 'includes') from wa.framework.configuration.execution import ConfigManager from wa.framework.configuration.parsers import AgendaParser from wa.framework.exception import ConfigError +from wa.utils.serializer import yaml from wa.utils.types import reset_all_counters @@ -44,7 +44,6 @@ workloads: workload_parameters: test: 1 """ -invalid_agenda = yaml.load(invalid_agenda_text) duplicate_agenda_text = """ global: @@ -57,12 +56,10 @@ workloads: - id: "1" workload_name: benchmarkpi """ -duplicate_agenda = yaml.load(duplicate_agenda_text) short_agenda_text = """ workloads: [antutu, dhrystone, benchmarkpi] """ -short_agenda = yaml.load(short_agenda_text) default_ids_agenda_text = """ workloads: @@ -75,7 +72,6 @@ workloads: cpus: 1 - vellamo """ -default_ids_agenda = yaml.load(default_ids_agenda_text) sectioned_agenda_text = """ sections: @@ -98,7 +94,6 @@ sections: workloads: - memcpy """ -sectioned_agenda = yaml.load(sectioned_agenda_text) dup_sectioned_agenda_text = """ sections: @@ -111,7 +106,6 @@ sections: workloads: - memcpy """ -dup_sectioned_agenda = yaml.load(dup_sectioned_agenda_text) class AgendaTest(TestCase): @@ -126,6 +120,8 @@ class AgendaTest(TestCase): assert_equal(len(self.config.jobs_config.root_node.workload_entries), 4) def test_duplicate_id(self): + duplicate_agenda = yaml.load(duplicate_agenda_text) + try: self.parser.load(self.config, duplicate_agenda, 'test') except ConfigError as e: @@ -134,6 +130,8 @@ class AgendaTest(TestCase): raise Exception('ConfigError was not raised for an agenda with duplicate ids.') def test_yaml_missing_field(self): + invalid_agenda = yaml.load(invalid_agenda_text) + try: self.parser.load(self.config, invalid_agenda, 'test') except ConfigError as e: @@ -142,20 +140,26 @@ class AgendaTest(TestCase): raise Exception('ConfigError was not raised for an invalid agenda.') def test_defaults(self): + short_agenda = yaml.load(short_agenda_text) self.parser.load(self.config, short_agenda, 'test') + workload_entries = self.config.jobs_config.root_node.workload_entries assert_equal(len(workload_entries), 3) assert_equal(workload_entries[0].config['workload_name'], 'antutu') assert_equal(workload_entries[0].id, 'wk1') def test_default_id_assignment(self): + default_ids_agenda = yaml.load(default_ids_agenda_text) + self.parser.load(self.config, default_ids_agenda, 'test2') workload_entries = self.config.jobs_config.root_node.workload_entries assert_equal(workload_entries[0].id, 'wk2') assert_equal(workload_entries[3].id, 'wk3') def test_sections(self): + sectioned_agenda = yaml.load(sectioned_agenda_text) self.parser.load(self.config, sectioned_agenda, 'test') + root_node_workload_entries = self.config.jobs_config.root_node.workload_entries leaves = list(self.config.jobs_config.root_node.leaves()) section1_workload_entries = leaves[0].workload_entries @@ -167,6 +171,7 @@ class AgendaTest(TestCase): @raises(ConfigError) def test_dup_sections(self): + dup_sectioned_agenda = yaml.load(dup_sectioned_agenda_text) self.parser.load(self.config, dup_sectioned_agenda, 'test') @raises(ConfigError)