Skip to content

Commit d1aa11c

Browse files
committed
test common part of substitutions
1 parent d2ef245 commit d1aa11c

File tree

4 files changed

+55
-10
lines changed

4 files changed

+55
-10
lines changed

bloom/generators/common.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ def generate_substitutions_from_package(
285285
warning("No homepage set, defaulting to ''")
286286
data['Homepage'] = homepage
287287
# Increment Number
288-
data['Inc'] = '' if native else '-{0}'.format(inc)
288+
data['Inc'] = '' if native else '{0}'.format(inc)
289289
# Package name
290290
data['Package'] = sanitize_package_name(package.name)
291291
# Installation prefix
@@ -1025,7 +1025,7 @@ def place_template_files(self, build_type, dir_path=None):
10251025
if has_files:
10261026
execute_command('git commit -m "Placing {0} template files"'.format(self.package_manager))
10271027

1028-
def get_subs(self, package, os_version, format_description, format_depends, releaser_history=None):
1028+
def get_subs(self, package, os_version, format_description, format_depends):
10291029
# This is the common part for generate templacte substitute, then successor of
10301030
# the generator will add its specic content via define its get_subs_hook function
10311031
subs = generate_substitutions_from_package(
@@ -1040,7 +1040,8 @@ def get_subs(self, package, os_version, format_description, format_depends, rele
10401040
[p.name for p in self.packages.values()],
10411041
fallback_resolver=self.missing_dep_resolver
10421042
)
1043-
subs['release_tag'] = 'release/{0}/{1}-{2}'.format(subs['Name'], subs['Version'], self.inc)
1043+
# Try to retrieve the releaser_history
1044+
releaser_history = self.get_releaser_history()
10441045
subs = self.get_subs_hook(subs, package, self.rosdistro, releaser_history=releaser_history)
10451046
for item in subs.items():
10461047
subs[item[0]] = convertToUnicode(item[1])

bloom/generators/debian/generator.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -183,10 +183,8 @@ def pre_modify(self):
183183

184184
def generate_package(self, package, os_version):
185185
info("Generating {0} for {1}...".format(self.package_manager, os_version))
186-
# Try to retrieve the releaser_history
187-
releaser_history = self.get_releaser_history()
188186
# Generate substitution values
189-
subs = self.get_subs(package, os_version, format_description, format_depends, releaser_history)
187+
subs = self.get_subs(package, os_version, format_description, format_depends)
190188
# Use subs to create and store releaser history
191189
releaser_history = [(v, (n, e)) for v, _, _, n, e in subs['changelogs']]
192190
self.set_releaser_history(dict(releaser_history))
@@ -279,6 +277,6 @@ def get_subs_hook(subs, package, rosdistro, releaser_history=None):
279277
return subs
280278

281279
def generate_tag_name(self, subs):
282-
tag_name = '{Package}_{Version}{Inc}_{Distribution}'
280+
tag_name = '{Package}_{Version}-{Inc}_{Distribution}'
283281
tag_name = self.package_manager + '/' + tag_name.format(**subs)
284282
return tag_name

bloom/generators/rpm/generator.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,10 +116,8 @@ def pre_modify(self):
116116

117117
def generate_package(self, package, os_version):
118118
info("Generating {0} for {1}...".format(self.package_manager, os_version))
119-
# Try to retrieve the releaser_history
120-
releaser_history = self.get_releaser_history()
121119
# Generate substitution values
122-
subs = self.get_subs(package, os_version, format_description, format_depends, releaser_history)
120+
subs = self.get_subs(package, os_version, format_description, format_depends)
123121
# Use subs to create and store releaser history
124122
self.set_releaser_history(dict(subs['changelogs']))
125123
# Template files

test/unit_tests/test_generators/test_common/test_generator.py

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,3 +186,51 @@ def test_bad_dependency():
186186
with AssertRaisesContext(SystemExit, str(code.GENERATOR_NO_ROSDEP_KEY_FOR_DISTRO)):
187187
with redirected_stdio():
188188
gen.check_all_keys_are_valid("")
189+
190+
191+
def format_depends(depends, resolved_deps):
192+
formatted = []
193+
for d in depends:
194+
formatted.append("{0}".format(d))
195+
return formatted
196+
197+
198+
def format_description(value):
199+
return value
200+
201+
202+
class OneGenerator(PackageManagerGenerator):
203+
package_manager = "test"
204+
@staticmethod
205+
def get_subs_hook(subs, package, rosdistro, releaser_history=None):
206+
subs['Name'] = 'test_pkg improved'
207+
subs['specific_part'] = 'none'
208+
return subs
209+
210+
211+
def test_get_substitute():
212+
pkg_name = 'test_pkg'
213+
pkg = get_package(pkg_name)
214+
pkg_dict = {pkg_name: pkg}
215+
216+
gen = OneGenerator()
217+
gen.packages = pkg_dict
218+
gen.os_name = "ubuntu"
219+
gen.os_version = "xenial"
220+
gen.rosdistro = "kinetic"
221+
gen.install_prefix = gen.default_install_prefix
222+
gen.inc = "1"
223+
224+
with redirected_stdio():
225+
subs = gen.get_subs(pkg, gen.os_version, format_description, format_depends)
226+
227+
assert 'test_pkg improved' == subs['Name']
228+
assert '0.1.0' == subs['Version']
229+
assert 'The test_pkg package' == subs['Description']
230+
assert '1' == subs['Inc']
231+
assert 'test-pkg' == subs['Package']
232+
assert ['roscpp', 'rospy'] == subs['Depends']
233+
assert gen.os_version == subs['Distribution']
234+
assert "nobody1 <[email protected]>" == subs['Maintainer']
235+
assert "nobody1 <[email protected]>, nobody2 <[email protected]>" == subs['Maintainers']
236+
assert 'none' == subs['specific_part']

0 commit comments

Comments
 (0)