diff -r 87cfa131b535 -r e7e0ae78773e configurationengine/source/plugins/symbian/ConeCRMLPlugin/CRMLPlugin/tests/unittest_txt_generation.py --- a/configurationengine/source/plugins/symbian/ConeCRMLPlugin/CRMLPlugin/tests/unittest_txt_generation.py Fri Mar 12 08:30:17 2010 +0200 +++ b/configurationengine/source/plugins/symbian/ConeCRMLPlugin/CRMLPlugin/tests/unittest_txt_generation.py Tue Aug 10 14:29:28 2010 +0300 @@ -15,12 +15,11 @@ # import sys, os, unittest -import __init__ ROOT_PATH = os.path.dirname(os.path.abspath(__file__)) from testautomation.base_testcase import BaseTestCase -from cone.public import exceptions, plugin, api, container +from cone.public import exceptions, plugin, api, container, utils from CRMLPlugin import crml_impl @@ -39,11 +38,14 @@ prj = api.Project(api.Storage.open(project_dir)) config = prj.get_configuration(config) + gc = plugin.GenerationContext(configuration=config, + output=output_dir) + impls = plugin.get_impl_set(config, 'crml$') - impls.output = output_dir - impls.generation_context.tags['target'] = ['rofs2'] - impls.generate() - impls.post_generate() + gc.tags['target'] = ['rofs2'] + gc.filtering_disabled = True + impls.generate(gc) + impls.post_generate(gc) self.assert_dir_contents_equal(output_dir, expected_dir, ['.svn']) @@ -57,11 +59,14 @@ prj = api.Project(api.Storage.open(project_dir)) config = prj.get_configuration(config) + gc = plugin.GenerationContext(configuration=config, + output=output_dir) + impls = plugin.get_impl_set(config, 'crml$') - impls.output = output_dir - impls.generation_context.tags['target'] = [] - impls.generate() - impls.post_generate() + gc.tags['target'] = [] + gc.filtering_disabled = True + impls.generate(gc) + impls.post_generate(gc) self.assert_dir_contents_equal(output_dir, expected_dir, ['.svn', 'private']) self.assertFalse(os.path.exists(os.path.join(output_dir, 'private/100059C9/cenrep_rfs.txt'))) @@ -77,11 +82,41 @@ prj = api.Project(api.Storage.open(project_dir)) config = prj.get_configuration(config) + gc = plugin.GenerationContext(configuration=config, + output=output_dir) impls = plugin.get_impl_set(config, 'crml$') - impls.output = output_dir - impls.generation_context.tags['target'] = ['rofs2'] - impls.generate() - impls.post_generate() + gc.tags['target'] = ['rofs2'] + gc.filtering_disabled = True + impls.generate(gc) + impls.post_generate(gc) self.assert_dir_contents_equal(output_dir, expected_dir, ['.svn']) + def test_generate_delta_cenreps(self): + project_dir = abspath('gen_project') + config = 'root2.confml' + output_dir = abspath('temp/gen_output_deltacenrep') + expected_dir = abspath('gen_expected_deltacenrep') + + self.remove_if_exists(output_dir) + + prj = api.Project(api.Storage.open(project_dir)) + config = prj.get_configuration(config) + gc = plugin.GenerationContext(configuration=config, + output=output_dir) + # Get refs from the last layer + layer = config.get_configuration_by_index(-1) + refs = utils.distinct_array(layer.list_leaf_datas()) + + impls = plugin.get_impl_set(config, 'crml$') + impls = impls | plugin.get_impl_set(config, 'implml$') + impls = impls.filter_implementations(refs=refs) + + gc.tags['crml'] = ['deltacenrep'] + gc.changed_refs = refs + gc.filtering_disabled = True + impls.generate(gc) + impls.post_generate(gc) + + output_dir = os.path.join(output_dir, 'deltacenreps') + self.assert_dir_contents_equal(output_dir, expected_dir, ['.svn'])