Skip to content

Commit 870fdb6

Browse files
authored
Merge pull request #3344 from ekouts/template_minver
add support for software minver template (like %(pyminver)s, etc.)
2 parents bbfd5eb + e1088db commit 870fdb6

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed

easybuild/framework/easyconfig/templates.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,7 @@ def template_constant_dict(config, ignore=None, skip_lower=None, toolchain=None)
245245
template_values['%sver' % pref] = dep_version
246246
dep_version_parts = dep_version.split('.')
247247
template_values['%smajver' % pref] = dep_version_parts[0]
248+
template_values['%sminver' % pref] = dep_version_parts[1]
248249
template_values['%sshortver' % pref] = '.'.join(dep_version_parts[:2])
249250
break
250251

test/framework/easyconfig.py

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -968,11 +968,11 @@ def test_templating(self):
968968
' ("R", "3.2.3"),'
969969
']',
970970
'modloadmsg = "%s"' % '; '.join([
971-
'CUDA: %%(cudaver)s, %%(cudamajver)s, %%(cudashortver)s',
972-
'Java: %%(javaver)s, %%(javamajver)s, %%(javashortver)s',
973-
'Python: %%(pyver)s, %%(pymajver)s, %%(pyshortver)s',
974-
'Perl: %%(perlver)s, %%(perlmajver)s, %%(perlshortver)s',
975-
'R: %%(rver)s, %%(rmajver)s, %%(rshortver)s',
971+
'CUDA: %%(cudaver)s, %%(cudamajver)s, %%(cudaminver)s, %%(cudashortver)s',
972+
'Java: %%(javaver)s, %%(javamajver)s, %%(javaminver)s, %%(javashortver)s',
973+
'Python: %%(pyver)s, %%(pymajver)s, %%(pyminver)s, %%(pyshortver)s',
974+
'Perl: %%(perlver)s, %%(perlmajver)s, %%(perlminver)s, %%(perlshortver)s',
975+
'R: %%(rver)s, %%(rmajver)s, %%(rminver)s, %%(rshortver)s',
976976
]),
977977
'license_file = HOME + "/licenses/PI/license.txt"',
978978
"github_account = 'easybuilders'",
@@ -1002,11 +1002,11 @@ def test_templating(self):
10021002
dirs1 = eb['sanity_check_paths']['dirs'][1]
10031003
self.assertTrue(lib_arch_regex.match(dirs1), "Pattern '%s' matches '%s'" % (lib_arch_regex.pattern, dirs1))
10041004
self.assertEqual(eb['homepage'], "http://example.com/P/p/v3/")
1005-
expected = ("CUDA: 10.1.105, 10, 10.1; "
1006-
"Java: 1.7.80, 1, 1.7; "
1007-
"Python: 2.7.10, 2, 2.7; "
1008-
"Perl: 5.22.0, 5, 5.22; "
1009-
"R: 3.2.3, 3, 3.2")
1005+
expected = ("CUDA: 10.1.105, 10, 1, 10.1; "
1006+
"Java: 1.7.80, 1, 7, 1.7; "
1007+
"Python: 2.7.10, 2, 7, 2.7; "
1008+
"Perl: 5.22.0, 5, 22, 5.22; "
1009+
"R: 3.2.3, 3, 2, 3.2")
10101010
self.assertEqual(eb['modloadmsg'], expected)
10111011
self.assertEqual(eb['license_file'], os.path.join(os.environ['HOME'], 'licenses', 'PI', 'license.txt'))
10121012

@@ -1668,9 +1668,11 @@ def test_external_dependencies_templates(self):
16681668

16691669
expected_template_values = {
16701670
'perlmajver': '5',
1671+
'perlminver': '30',
16711672
'perlshortver': '5.30',
16721673
'perlver': '5.30.0',
16731674
'pymajver': '3',
1675+
'pyminver': '6',
16741676
'pyshortver': '3.6',
16751677
'pyver': '3.6.5',
16761678
}
@@ -2822,6 +2824,7 @@ def test_template_constant_dict(self):
28222824

28232825
expected = {
28242826
'javamajver': '1',
2827+
'javaminver': '8',
28252828
'javashortver': '1.8',
28262829
'javaver': '1.8.0_221',
28272830
'name': 'toy',
@@ -2831,6 +2834,7 @@ def test_template_constant_dict(self):
28312834
'toolchain_version': 'system',
28322835
'nameletterlower': 't',
28332836
'pymajver': '3',
2837+
'pyminver': '7',
28342838
'pyshortver': '3.7',
28352839
'pyver': '3.7.2',
28362840
'version': '0.01',

0 commit comments

Comments
 (0)